Matthew Dillon [Mon, 23 Mar 2015 04:54:32 +0000 (21:54 -0700)]
hammer2 - locking revamp (2)
* Update mutex lock calls to not pass the ident.
Matthew Dillon [Mon, 23 Mar 2015 03:26:08 +0000 (20:26 -0700)]
hammer2 - locking revamp
* Temporarily remove hammer2_ccms.c from the build and remove the ccms
container. The CCMS container will be used again when we get cache
coherent in, but for now it isn't needed.
* Replace the ccms state lock with a mtx lock and move
into hammer2_chain_core.
Note that the mtx lock being used here has abort and async locking
support and these features will be required by HAMMER2.
* Replace the ccms spin lock with a normal spin lock and move
into hammer2_chain_core.
* Refactor the OS locking interface to use hammer2_* prefixes for easier
porting.
* Use a shared spin lock for the ONFLUSH bit update instead of an exclusive
spin lock.
Matthew Dillon [Mon, 23 Mar 2015 03:23:52 +0000 (20:23 -0700)]
kernel - Major mtx lock cleanup
* Integrate the ident into the mtx structure, remove the ident parameter from
all locking calls.
* Rename some of the functions, shortening them.
* Add a few new functions which hammer2 will use.
Sepherosa Ziehau [Sun, 22 Mar 2015 12:52:35 +0000 (20:52 +0800)]
sensor: Allocate task w/ M_WAITOK
And now sensor_task_register() will not fail.
Sepherosa Ziehau [Sun, 22 Mar 2015 12:32:56 +0000 (20:32 +0800)]
sensor: Create task thread through SYSINIT
Sepherosa Ziehau [Sat, 21 Mar 2015 14:26:22 +0000 (22:26 +0800)]
sensor: Function renaming and remove unnecessary comment.
Sepherosa Ziehau [Sat, 21 Mar 2015 14:25:53 +0000 (22:25 +0800)]
sensor: Remove the NOSYSCTL8HACK ifndef test
NOSYSCTL8HACK is always not defined on DragonFly.
Sepherosa Ziehau [Sat, 21 Mar 2015 14:25:26 +0000 (22:25 +0800)]
sensor: Staticize internal global variables
Sepherosa Ziehau [Sat, 21 Mar 2015 14:24:56 +0000 (22:24 +0800)]
sensor: volatile is unnecessary for running
This fields are changed/checked w/ lock held.
Sepherosa Ziehau [Sat, 21 Mar 2015 14:24:07 +0000 (22:24 +0800)]
sensors: Staticize internal functions
Sepherosa Ziehau [Sat, 21 Mar 2015 14:23:42 +0000 (22:23 +0800)]
sensor: Utilize LOCK_INITIALIZER
The cmpset for lock initialization is _not_ safe (it requires at least
3 states and a spin loop, which is obviously an overkill when compared
w/ LOCK_INITIALIZER).
Sepherosa Ziehau [Sat, 21 Mar 2015 14:23:15 +0000 (22:23 +0800)]
lock: Add LOCK_INITIALIZER
John Marino [Sun, 22 Mar 2015 19:13:59 +0000 (20:13 +0100)]
gcc50: Update to 22 Mar 2015 snapshot (SVN 221572)
John Marino [Sun, 22 Mar 2015 20:53:42 +0000 (21:53 +0100)]
Merge branch 'vendor/GCC50'
John Marino [Sun, 22 Mar 2015 19:00:55 +0000 (20:00 +0100)]
bmake(1): complete update to version
20141111
The local modification to job.c was returned, but it may no longer be
necessary. Until that's determined, leave the current behavior in place
though.
John Marino [Sun, 22 Mar 2015 20:53:06 +0000 (21:53 +0100)]
Merge branch 'vendor/BMAKE'
John Marino [Sun, 22 Mar 2015 18:35:10 +0000 (19:35 +0100)]
make(1): Remove local mods to parse.c and job.c
This is in preparation for an upgrade to bmake.
The modification to job.c will return after the merge.
The modification to parse.c has been incorporated upstream
John Marino [Sun, 22 Mar 2015 19:10:23 +0000 (20:10 +0100)]
Update gcc-50 to SVN version 221572
Last Changed Date: 2015-03-22 19:42:52 +0100 (Sun, 22 Mar 2015)
John Marino [Sun, 22 Mar 2015 18:39:45 +0000 (19:39 +0100)]
Update to bmake-
20141111 on the vendor branch
Tomohiro Kusumi [Sat, 21 Mar 2015 15:58:50 +0000 (00:58 +0900)]
sbin/hammer: Expand hammer show directive to lo:objid:rectype:key:tid
- Make hammer show command take rectype:key:tid as an optional part
of the search directive in addition to the existing part lo:objid.
- Unspecified fields are handled as wildcard.
- rectype:key:tid all have lower priority than existing lo:objid
(in actual filesystem's btree implementation) so these new fields
give hammer show command extra conditions on btree search given
that higher priority fields lo:objid do match.
Sascha Wildner [Sun, 22 Mar 2015 01:21:12 +0000 (02:21 +0100)]
kernel/iwn: Properly build 3 missing firmwares (100, 105, 135).
Sascha Wildner [Sun, 22 Mar 2015 00:35:03 +0000 (01:35 +0100)]
Add sa_family_t definitions to <netinet/in.h> and <sys/un.h> too.
As required by POSIX.
Also use sa_family_t in structs sockaddr_un, sockaddr_in and
sockaddr_in6.
Sascha Wildner [Sun, 22 Mar 2015 00:15:16 +0000 (01:15 +0100)]
kernel/acpi: Use ACPI_FULL_INITIALIZATION (no functional change).
François Tigeot [Sat, 21 Mar 2015 21:09:37 +0000 (22:09 +0100)]
drm/i915: Sync i915_gem_phys_pwrite() with Linux 3.11
François Tigeot [Sat, 21 Mar 2015 16:03:03 +0000 (17:03 +0100)]
drm/i915: Sync i915_gem_object_put_pages_gtt() with Linux 3.11
François Tigeot [Sat, 21 Mar 2015 15:52:02 +0000 (16:52 +0100)]
drm: Implement set_page_dirty()
Tomohiro Kusumi [Sat, 21 Mar 2015 13:11:33 +0000 (22:11 +0900)]
sbin/hammer: Add filter mode when lo:objid directive is used
- This commit is expansion to the commit
e7f926a5 and
edcc8136.
These commits make hammer show command search and print btree
elements that match lo:objid using '*' mark, but go back to
normal iteration once it hits matched elements. This commit
gives options to the way it filters unmatched elements.
- Using the arg "filter" after the directive makes it continue
filtering without going back to normal iteration. This makes
it only show nodes that have matched elements.
- Using the arg "nofilter" after the directive makes it not to
filter from the beginning (same as when lo:objid directive is
not specified except that this does print '*' for those that
match lo:objid).
- Not specifying any arg after the directive works the same as
it did before.
François Tigeot [Sat, 21 Mar 2015 10:39:46 +0000 (11:39 +0100)]
drm/i915: Sync i915_gem_shmem_pread() with Linux 3.11
François Tigeot [Sat, 21 Mar 2015 09:56:31 +0000 (10:56 +0100)]
drm: Add linux/swap.h
Sepherosa Ziehau [Fri, 20 Mar 2015 14:23:00 +0000 (22:23 +0800)]
sensor: Minor white space and style cleanup
Tomohiro Kusumi [Fri, 20 Mar 2015 13:09:51 +0000 (22:09 +0900)]
sbin/hammer: Make hammer show properly print '*' for elements that match directive
- hammer show command (running with lo:objid directive specified)
goes back to normal iteration once it matches the directive as
explained in
e7f926a5, however it should not do 'search = NULL;'.
This commit adds a field btree_search::normal to do it right.
- The problem with 'search = NULL;' is that when there are many files
in a directory (e.g. dragonfly bsd source), different leaf nodes
of the same depth could happen to have inodes and dirents with the
same lo:objid. In this case it prints '*' only for matched records
located under the first leaf node because by the time it comes to
the second leaf node the pointer has been set to NULL and
NULL won't print '*' (see line 169 and 174 of cmd_show.c).
- In the following example it is expected that both leaf node 29
and 30 print '*' for its records that match
00000001:
00000001036af6f7,
but the result is it only prints for those under leaf node 29.
This commit does that right.
show
800000005b14d000 lo
00000001 obj_id
00000001036af6f7 depth 0
<snip>
NODE
800000005b04e000 cnt=37 p=
800000005b14e000 type=I depth=2 mirror
00000001040192b0 fill=z8:182=92% {
G------ ELM 0 L lo=
00000001 obj=
000000010354f711 rt=01 key=
0000000000000000 ot=00
<snip>
G------ ELM 29 L lo=
00000001 obj=
00000001036af6e9 rt=01 key=
0000000000000000 ot=00
tids
0000000104018910:
0000000000000000 suboff=
8000000020fb1000 mirror
0000000104018a50 *
G------ ELM 30 L lo=
00000001 obj=
00000001036af6f7 rt=11 key=
66ea1f6ab72c0000 ot=00
tids
0000000104018a50:
0000000000000000 suboff=
800000005b079000 mirror
0000000104018a50 *
Tomohiro Kusumi [Thu, 19 Mar 2015 14:58:04 +0000 (23:58 +0900)]
sbin/hammer: Add missing free(3)
- Free results of strdup(3) and getdevpath(3).
Sascha Wildner [Fri, 20 Mar 2015 11:01:18 +0000 (12:01 +0100)]
etc/sendmail: Fix installation of the /etc/mail/Makefile.
The way this was done led to problems when doing 'make install' and
'make clean' from etc/mail. The generated Makefile would overwrite
the shipped Makefile (upon install) or the shipped Makefile would
delete itself (upon clean).
Use FILESNAME_... which is meant for this kind of stuff.
Reported-by: tkusumi
Sascha Wildner [Fri, 20 Mar 2015 10:46:22 +0000 (11:46 +0100)]
<sys/unistd.h>: Use __BSD_VISIBLE instead of !_POSIX_SOURCE.
Sascha Wildner [Thu, 19 Mar 2015 19:18:41 +0000 (20:18 +0100)]
openssl: In the README.DRAGONFLY, note that the date needs updating too.
Sascha Wildner [Thu, 19 Mar 2015 19:18:10 +0000 (20:18 +0100)]
openssl: Adjust manual pages for 1.0.1m.
Sascha Wildner [Thu, 19 Mar 2015 20:06:51 +0000 (21:06 +0100)]
Merge branch 'vendor/OPENSSL'
Sascha Wildner [Thu, 19 Mar 2015 20:01:12 +0000 (21:01 +0100)]
Import OpenSSL 1.0.1m.
Fixes CVE-2015-0286, CVE-2015-0287, CVE-2015-0289, CVE-2015-0293,
CVE-2015-0209, and CVE-2015-0288.
Sascha Wildner [Thu, 19 Mar 2015 11:40:09 +0000 (12:40 +0100)]
<stdio.h>: Adjust comment about UT_NAMESIZE.
Sascha Wildner [Thu, 19 Mar 2015 11:35:20 +0000 (12:35 +0100)]
repquota(8): Use MAXLOGNAME instead of UT_NAMESIZE.
Sascha Wildner [Thu, 19 Mar 2015 11:34:38 +0000 (12:34 +0100)]
atrun(8): Use MAXLOGNAME instead of UT_NAMESIZE.
Sascha Wildner [Thu, 19 Mar 2015 11:33:49 +0000 (12:33 +0100)]
libposix1e: Use MAXLOGNAME instead of UT_NAMESIZE.
Sascha Wildner [Thu, 19 Mar 2015 11:15:57 +0000 (12:15 +0100)]
mutex.9: Adjust a bit to current source.
John Marino [Thu, 19 Mar 2015 08:54:30 +0000 (01:54 -0700)]
gcc50: Fix parallel build issue with libstdc++
The "beforedepends" target apparently is not serial. I found out that
a header got copied into bits directory before bits directory was created.
This modification should prevent that in the future.
Sascha Wildner [Wed, 18 Mar 2015 18:32:04 +0000 (19:32 +0100)]
libc/realpath: Better POSIX conformance regarding ENOENT and ENOTDIR.
This fixes the "Test keywords with arguments" test of pkg(8), too.
Reported-by: Robin Hahling <robin.hahling@gw-computing.net>
Fix-pointed-out-by: bapt@freebsd
Taken-from: FreeBSD
Tomohiro Kusumi [Wed, 18 Mar 2015 16:05:40 +0000 (01:05 +0900)]
sbin/hammer: Fix assertion to accept undo zone
- hammer checkmap now supports undo zone after
d2bf3c30 so this
assertion needs to accept undo zone, although nothing changes
since AssertOnFailure is set to 0 by default for this command
for now.
Tomohiro Kusumi [Wed, 18 Mar 2015 15:45:46 +0000 (00:45 +0900)]
sbin/hammer: Implement checkmap collects using rbtree
- Replace hash table for collects using rbtree.
- Using hash table can't dump collects' -v info in the right order
since hash index value and collect entries linked to hash table
entries do not reflect collect::phys_offset value.
- If the amount of filesystem data is less than approximately 4TB
nothing will change because there is only one collect entry,
which makes no difference whether the data structure is rbtree
or hash table.
Tomohiro Kusumi [Wed, 18 Mar 2015 15:45:06 +0000 (00:45 +0900)]
sbin/hammer: Add some comments
- Add some comments on hammer checkmap's collects data structure.
Tomohiro Kusumi [Wed, 18 Mar 2015 15:44:22 +0000 (00:44 +0900)]
sbin/hammer: Add assertions
- Add assertions for invalid node type and undo header type.
Sepherosa Ziehau [Tue, 17 Mar 2015 11:58:47 +0000 (19:58 +0800)]
x86_64: Take advantage of ACPI/CPU specific C-state mapping
If BIOS maps shallow ACPI C-state (<C3) to deep CPU specific C-state
(>=C3), it implies no bus mastering operations are needed before
entering deep CPU specific C-states.
Sepherosa Ziehau [Mon, 16 Mar 2015 14:37:32 +0000 (22:37 +0800)]
Revert "acpi/cstate: Detect and fix duplicated C-states"
This reverts commit
4221f7280cb32cbd2292001d52653e01a71872c9.
Looks like it is intentional to avoid bus mastering register
accessing, cache flush, and changing interrupt timer, which
is required for C3.
Sepherosa Ziehau [Mon, 16 Mar 2015 14:23:06 +0000 (22:23 +0800)]
acpi/cstate: Match C-states of the hyperthreads on the same core
Some stupid BIOSes set different C-states for hyperthreads on the same
core, which prevents the core from entering deep C-states, since not
all hyperthreads of the core are in the deep C-states.
We fix this by using same number of C-states for hyperthreads on the
same core; the hyperthread w/ more C-states is taken as master.
Sepherosa Ziehau [Mon, 16 Mar 2015 13:22:31 +0000 (21:22 +0800)]
ip: Don't generate IP ID for DF IP datagrams (part of RFC6864)
Sascha Wildner [Tue, 17 Mar 2015 22:33:14 +0000 (23:33 +0100)]
kernel/acpi: Reduce code duplication with ACPICA (second attempt).
Use the types which the ACPICA framework provides whereever possible in
our acpi_fadt and acpi_madt code. Since we do not use any actual ACPICA
functions here, this is no problem even for code which (so far) runs
before ACPICA is initialized.
Compared to the previous attempt which I pushed (and reverted again)
this commit has the following additional fixes:
* Compare the FADT length to the length of the ACPI 2.0 (up to 4.0)
version of the table (which is 24 bytes shorter than the ACPI 5.0
version).
* Doesn't shift again an already shifted value.
Discussed-with-and-approved-by: sephe
Tested-by: Robin Hahling <robin.hahling@gw-computing.net>
Robin Hahling [Tue, 17 Mar 2015 07:40:27 +0000 (08:40 +0100)]
clock_gettime.2: Update and document various clock_ids.
* clock_id may take many more values than what was previously
suggested.
* Document some clock_ids that take advantage of upmap/kpmap in case
of many repetitive calls.
* Inform about some clock_ids that are FreeBSD extensions.
Sascha Wildner [Tue, 17 Mar 2015 19:51:33 +0000 (20:51 +0100)]
<utmpx.h>: Mark RUN_LVL as being non POSIX.
Tomohiro Kusumi [Tue, 17 Mar 2015 16:16:30 +0000 (01:16 +0900)]
sbin/hammer: Make some checkmap functions inline
- Make collect_xxx functions inline.
Tomohiro Kusumi [Tue, 17 Mar 2015 16:06:33 +0000 (01:06 +0900)]
sbin/hammer: Make hammer checkmap command support undo zone
- Make hammer checkmap command support undo zone by scanning
undo fifo, in addition to btree zone support added in 6cf258d.
Tomohiro Kusumi [Tue, 17 Mar 2015 10:49:48 +0000 (19:49 +0900)]
sbin/hammer: Move COLLECT_XXX macros to cmd_blockmap.c
- These macros are magic numbers locally used by checkmap.
Library users don't need to know collects' hash table size.
Tomohiro Kusumi [Tue, 17 Mar 2015 10:47:13 +0000 (19:47 +0900)]
sbin/hammer: Make hammer checkmap command use tailq
- Embed "TAILQ_ENTRY(collect) entry;" in struct collect instead of
having a pointer of the same type.
Sascha Wildner [Mon, 16 Mar 2015 23:10:43 +0000 (00:10 +0100)]
Revert "kernel/acpi: Reduce code duplication with ACPICA."
This reverts commit
fc673eaa749a01e148fc5f0b6e81587531576344.
I did some mistakes here, one of which I found already. But
there are more. So let's revert it for now (since it causes
rather nasty issues) until the issues are all found.
Reported-by: Robin Hahling <robin.hahling@gw-computing.net>
Sascha Wildner [Mon, 16 Mar 2015 23:09:45 +0000 (00:09 +0100)]
kernel/acpi_thermal: If the _TMP can't be evaluated, increase the interval.
If _TMP evaluation fails two times, switch to trying every two hours.
I think eventually we should move to stop reading the sensor at all
(it is usually a bug in the AML and won't spring to life again all
of a sudden), but for now, this lowers the burden on log files.
Submitted-by: dillon
Sascha Wildner [Mon, 16 Mar 2015 19:36:36 +0000 (20:36 +0100)]
pam_passwdqc: Raise WARNS to 3 and fix a number of warnings.
* Define _XOPEN_SOURCE correctly for DragonFly.
* Change macro functions into inline functions.
* Cast a const char * to char *.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:42:04 +0000 (01:42 +0900)]
sbin/hammer: Fix printf format for bad node
- Remove "{" since there is no "}" unlike hammer show command.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:41:30 +0000 (01:41 +0900)]
sbin/hammer: Make hammer checkmap show number of errors if any
- Make hammer checkmap command print number of inconsistency
after all collections and verifications.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:36:44 +0000 (01:36 +0900)]
sbin/hammer: Disable AssertOnFailure when running hammer checkmap
- Since the purpose of hammer checkmap command is to find out
inconsistency between blockmap and btree, it's better to set
AssertOnFailure to 0 just like hammer show command does.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:34:40 +0000 (01:34 +0900)]
sbin/hammer: Add zone-bigblock statistics to hammer checkmap command
- Make hammer checkmap command print zone-bigblock statistics when
-v option is used.
- Note that hammer checkmap command does not take into account all
zones that are currently used by HAMMER. For example the command
does not count bigblocks used by undo zone, so zone 3 always has
0 regardless of actual ondisk undo space.
- Add zone=%2d info to existing failure/verbose printf which
corresponds to the statistics.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:34:40 +0000 (01:34 +0900)]
sbin/hammer: Make hammer checkmap command support btree zone
- Make hammer checkmap command support not only btree leaf elements,
but also btree internal/leaf nodes.
- collect_get() allocates 8MB chunk for layer2 which covers all
layer2 entries within a layer1 entry, however existing checkmap
command only tracks btree leaf elements. This commit adds additional
collects for btree internal/leaf nodes that belong to btree zone.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:34:40 +0000 (01:34 +0900)]
sbin/hammer: Fix and add debug printf on buffer access
- Fix debug fprintf format when the buffer was newly allocated.
- Add debug fprintf to stderr when the buffer was found in cache.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:34:40 +0000 (01:34 +0900)]
sbin/hammer: Properly set counter in cache flushing loop
- This local variable 'count' being reset to 0 was probably intended
to be set to 1, because otherwise --count; right after this makes
it negative (which takes extra count before next CacheMax expansion).
This makes no difference to results of hammer commands.
Tomohiro Kusumi [Mon, 16 Mar 2015 16:34:20 +0000 (01:34 +0900)]
sbin/hammer: Use existing function hammer_cache_used()
- Use existing function hammer_cache_used() for list operation.
Michael Neumann [Mon, 16 Mar 2015 16:50:18 +0000 (17:50 +0100)]
drm: Add firmware.h Linux compatiblity layer
Michael Neumann [Mon, 16 Mar 2015 11:54:52 +0000 (12:54 +0100)]
drm: Add Linux seq_file equivalent
Michael Neumann [Mon, 16 Mar 2015 11:24:11 +0000 (12:24 +0100)]
drm: Basic implementation of wound/wait mutexes used by ttm
Sepherosa Ziehau [Mon, 16 Mar 2015 03:28:36 +0000 (11:28 +0800)]
if: Remove unused if_ioctl_mtx
Sepherosa Ziehau [Sun, 15 Mar 2015 13:36:46 +0000 (21:36 +0800)]
acpi/cstate: Clear saved C-state softc, if attach failed
And install softc during the probe; instead of using (void *)1.
Sepherosa Ziehau [Sun, 15 Mar 2015 11:28:40 +0000 (19:28 +0800)]
acpi/cstate: Detect and fix duplicated C-states
Some buggy BIOSes create two C2 states, however, the latter one is
obviously C3. Add tunable hw.acpi.cpu.cst.check_duplicated to detect
and fix this bug; it is not enabled by default.
Matthew Dillon [Mon, 16 Mar 2015 01:48:15 +0000 (18:48 -0700)]
kernel - Refactor kern_mutex (mtx* functions)
* Refactor kern_mutex in order to support asynchronous lock requests,
which hammer2 is going to need. kern_mutex already supports abortable
locks.
* Add callback fields to the mtx_link structure.
* Use the mtx_link structure for shared locks in addition to exclusive locks,
allowing asynchronous callbacks for shared locks and exclusive locks.
* Make the locking flags more deterministic.
* Redo the typedefs to be more like hammer2. Typedef the structures rather
than pointers so the typedef names can be used for structural embedding.
Sascha Wildner [Sun, 15 Mar 2015 23:33:32 +0000 (00:33 +0100)]
ipfw3(8): Fix indent.
Sascha Wildner [Sun, 15 Mar 2015 21:37:37 +0000 (22:37 +0100)]
libc/inet: Clean up a bit and add a missing errno on failure.
Also remove the unused inet_data.c file.
Some of this commit was taken from FreeBSD.
Michael Neumann [Sun, 15 Mar 2015 13:25:06 +0000 (14:25 +0100)]
sshlockout - Add back blocking out IPs via ipfw(8)
Now takes -pf and -ipfw options to distinguish which firewall to use.
Sascha Wildner [Sun, 15 Mar 2015 11:06:36 +0000 (12:06 +0100)]
libc: Use NELEM().
Sascha Wildner [Sun, 15 Mar 2015 10:54:11 +0000 (11:54 +0100)]
kernel/acpi: Adjust the definition of some statically declared functions.
Sascha Wildner [Sun, 15 Mar 2015 09:48:43 +0000 (10:48 +0100)]
kernel: Remove fdescfs. devfs handles this.
Sascha Wildner [Sun, 15 Mar 2015 09:45:23 +0000 (10:45 +0100)]
Update the pciconf(8) database.
March 14, 2015 snapshot from http://pciids.sourceforge.net/
Matthew Dillon [Sun, 15 Mar 2015 07:03:37 +0000 (00:03 -0700)]
hammer2 - Optimize out read I/O on new allocations (2)
* One more patch needed to fix the regression.
Matthew Dillon [Sun, 15 Mar 2015 06:26:59 +0000 (23:26 -0700)]
hammer2 - Optimize out read I/O on new allocations
* Fix a regression. When DIO went strictly to 64KB blocks,
hammer2_devblksize() did not follow suit. This resulted it
unnecessary read-before-write I/Os on smaller blocks allocated from
fresh full-block freemap areas.
This fix effectively removes almost all read I/O when writing fresh files
to HAMMER2 filesystem, or copying from data already cached into the
HAMMER2 filesystem.
* Allow inodes to be locked without having to load the related meta-data.
This removes unnecessary read I/Os when reclaiming old vnodes from the
vnode cache (whos inodes might no longer be in the buffer cache or the
VM page cache). Removes unnecessary reads during a umount and during
normal vnode recyclement once system caches have reached steady-state.
This change involved flagging the nlinks == 0 inode state in the chain
flags so the inode meta-data does not have to be read.
Matthew Dillon [Sun, 15 Mar 2015 04:31:23 +0000 (21:31 -0700)]
hammer2 - Misc cluster protocol work
* Adjust debugging a bit so hammer2 -d bumps DMsgDebugOpt to sucessively
higher values.
* mount_hammer2 now connects the hammer2 service daemon to the mount
via localhost instead of via 0 (0 does not bind to localhost if the
machine has an IP address). Allows differentiation between remote
connections and local connections.
* Begin splitting the dmsg iocom stuff off from vfsops.c in the hammer2 VFS
and test.
* Issue SPANs relative to state0 rather than the LNK_CONN state in the hammer2
VFS, to match how SPANs are implemented in the service demon.
* Recognize remote HAMMER2 filesystem SPANs (but don't do anything with them
yet).
* Fix a brace bug in hammer2_bulkscan.c (from swildner).
Tomohiro Kusumi [Sat, 14 Mar 2015 18:55:48 +0000 (03:55 +0900)]
sbin/hammer: Properly break from cache flush loop
- hammer_cache_flush() needs to keep track of the first element
that was pushed back to tail of the list (ref!=0), and break from
the loop if it hits that element for the second time.
- It's currently working without above check because it breaks from
the loop after it has accomplished 'target'. If this function was
changed to release unlimited number of cache then it'll loop
forever unless tracking those that can't be released (ref!=0).
Tomohiro Kusumi [Sat, 14 Mar 2015 17:19:22 +0000 (02:19 +0900)]
sbin/hammer: Add debug printf on cache flushing
- Add debug fprintf to stderr on cache flushing that shows
the number of buffers released.
Sascha Wildner [Sat, 14 Mar 2015 16:00:51 +0000 (17:00 +0100)]
kernel/ipfw3: Fix LINT64 building.
* Remove a duplicate definition of DPRINTF().
* Fix a DPRINTF() argument.
Sascha Wildner [Sat, 14 Mar 2015 15:54:50 +0000 (16:54 +0100)]
Remove more sendmail remains.
Sascha Wildner [Sat, 14 Mar 2015 15:37:43 +0000 (16:37 +0100)]
make upgrade: Remove some more files for the sendmail removal.
Sascha Wildner [Sat, 14 Mar 2015 14:45:33 +0000 (15:45 +0100)]
acpi_thinkpad.4: Add missing space.
François Tigeot [Sat, 14 Mar 2015 13:03:37 +0000 (14:03 +0100)]
drm/i915: Reorder some function definitions
* Reducing differences with Linux 3.11
* No functional changes
François Tigeot [Sat, 14 Mar 2015 09:26:11 +0000 (10:26 +0100)]
drm/i915: add trace functions
François Tigeot [Sat, 14 Mar 2015 06:45:32 +0000 (07:45 +0100)]
drm: Sync drm_mm.c with Linux 3.11
Sascha Wildner [Sat, 14 Mar 2015 00:24:09 +0000 (01:24 +0100)]
rpc.rusersd(8): Cleanup indentation.
John Marino [Fri, 13 Mar 2015 16:13:10 +0000 (17:13 +0100)]
Update MPC library from version 1.0.1 to 1.0.3
This library is internal; it's used by both gcc47 and gcc50.
Fixed: mpc_pow, mpc_atan, mpc_atanh
John Marino [Fri, 13 Mar 2015 17:14:46 +0000 (18:14 +0100)]
Merge branch 'vendor/MPC'