]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC of 269533 (by mckusick):
authormckusick <mckusick@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 18 Aug 2014 22:53:48 +0000 (22:53 +0000)
committermckusick <mckusick@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 18 Aug 2014 22:53:48 +0000 (22:53 +0000)
commit5b26b0ffd4289ee586b3894ac4854d304b023425
tree3f03c7c27ae5b52fc385dea819a103c4b5167b36
parentd584d724c2dd05843c87ec012294f16ab3142c8b
MFC of 269533 (by mckusick):

Add support for multi-threading of soft updates.

Replace a single soft updates thread with a thread per FFS-filesystem
mount point. The threads are associated with the bufdaemon process.

Reviewed by:  kib
Tested by:    Peter Holm and Scott Long
MFC after:    2 weeks
Sponsored by: Netflix

MFC of 269853 (by kib):

Revision r269457 removed the Giant around mount and unmount code, but
r269533, which was tested before r269457 was committed, implicitely
relied on the Giant to protect the manipulations of the softdepmounts
list.  Use softdep global lock consistently to guarantee the list
structure now.

Insert the new struct mount_softdeps into the softdepmounts only after
it is sufficiently initialized, to prevent softdep_speedup() from
accessing bare memory.  Similarly, remove struct mount_softdeps for
the unmounted filesystem from the tailq before destroying structure
rwlock.

Reported and tested by: pho
Reviewed by:    mckusick
Sponsored by:   The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@270157 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/kern/vfs_bio.c
sys/ufs/ffs/ffs_softdep.c
sys/ufs/ffs/softdep.h