#
307534 |
|
17-Oct-2016 |
mckusick |
MFC r304230: Add two new macros, SLIST_CONCAT and LIST_CONCAT.
MFC r304239: Bug 211013 reports that a write error to a UFS filesystem running with softupdates panics the kernel.
PR: 211013
|
#
278667 |
|
13-Feb-2015 |
kib |
MFC r277922: When mounting SU-enabled mount point, wait until the softdep_flush() thread started and incremented the stat_flush_threads.
MFC r278257: Partially revert r277922.
|
#
270157 |
|
18-Aug-2014 |
mckusick |
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
|
#
262779 |
|
05-Mar-2014 |
pfg |
MFC r262678; ufs: small formatting fixes.
Cleanup some extra space. Use of tabs vs. spaces. No functional change.
Reviewed by: mckusick
|
#
260078 |
|
30-Dec-2013 |
mckusick |
MFC of 256801, 256803, 256808, 256812, 256817, 256845, and 256860. This set of changes puts in place the infrastructure to allow soft updates to be multi-threaded. It introduces no functional changes from its current operation.
MFC of 256860:
Allow kernels without options SOFTUPDATES to build. This should fix the embedded tinderboxes.
Reviewed by: emaste
MFC of 256845:
Fix build problem on ARM (which defaults to building without soft updates).
Reported by: Tinderbox Sponsored by: Netflix
MFC of 256817:
Restructuring of the soft updates code to set it up so that the single kernel-wide soft update lock can be replaced with a per-filesystem soft-updates lock. This per-filesystem lock will allow each filesystem to have its own soft-updates flushing thread rather than being limited to a single soft-updates flushing thread for the entire kernel.
Move soft update variables out of the ufsmount structure and into their own mount_softdeps structure referenced by ufsmount field um_softdep. Eventually the per-filesystem lock will be in this structure. For now there is simply a pointer to the kernel-wide soft updates lock.
Change all instances of ACQUIRE_LOCK and FREE_LOCK to pass the lock pointer in the mount_softdeps structure instead of a pointer to the kernel-wide soft-updates lock.
Replace the five hash tables used by soft updates with per-filesystem copies of these tables allocated in the mount_softdeps structure.
Several functions that flush dependencies when too many are allocated in the kernel used to operate across all filesystems. They are now parameterized to flush dependencies from a specified filesystem. For now, we stick with the round-robin flushing strategy when the kernel as a whole has too many dependencies allocated.
While there are many lines of changes, there should be no functional change in the operation of soft updates.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256812:
Fourth of several cleanups to soft dependency implementation. Add KASSERTS that soft dependency functions only get called for filesystems running with soft dependencies. Calling these functions when soft updates are not compiled into the system become panic's.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256808:
Third of several cleanups to soft dependency implementation. Ensure that softdep_unmount() and softdep_setup_sbupdate() only get called for filesystems running with soft dependencies.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256803:
Second of several cleanups to soft dependency implementation. Delete two unused functions in ffs_sofdep.c.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256801:
First of several cleanups to soft dependency implementation. Convert three functions exported from ffs_softdep.c to static functions as they are not used outside of ffs_softdep.c.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
|
#
278667 |
|
13-Feb-2015 |
kib |
MFC r277922: When mounting SU-enabled mount point, wait until the softdep_flush() thread started and incremented the stat_flush_threads.
MFC r278257: Partially revert r277922.
|
#
270157 |
|
18-Aug-2014 |
mckusick |
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
|
#
262779 |
|
05-Mar-2014 |
pfg |
MFC r262678; ufs: small formatting fixes.
Cleanup some extra space. Use of tabs vs. spaces. No functional change.
Reviewed by: mckusick
|
#
260078 |
|
30-Dec-2013 |
mckusick |
MFC of 256801, 256803, 256808, 256812, 256817, 256845, and 256860. This set of changes puts in place the infrastructure to allow soft updates to be multi-threaded. It introduces no functional changes from its current operation.
MFC of 256860:
Allow kernels without options SOFTUPDATES to build. This should fix the embedded tinderboxes.
Reviewed by: emaste
MFC of 256845:
Fix build problem on ARM (which defaults to building without soft updates).
Reported by: Tinderbox Sponsored by: Netflix
MFC of 256817:
Restructuring of the soft updates code to set it up so that the single kernel-wide soft update lock can be replaced with a per-filesystem soft-updates lock. This per-filesystem lock will allow each filesystem to have its own soft-updates flushing thread rather than being limited to a single soft-updates flushing thread for the entire kernel.
Move soft update variables out of the ufsmount structure and into their own mount_softdeps structure referenced by ufsmount field um_softdep. Eventually the per-filesystem lock will be in this structure. For now there is simply a pointer to the kernel-wide soft updates lock.
Change all instances of ACQUIRE_LOCK and FREE_LOCK to pass the lock pointer in the mount_softdeps structure instead of a pointer to the kernel-wide soft-updates lock.
Replace the five hash tables used by soft updates with per-filesystem copies of these tables allocated in the mount_softdeps structure.
Several functions that flush dependencies when too many are allocated in the kernel used to operate across all filesystems. They are now parameterized to flush dependencies from a specified filesystem. For now, we stick with the round-robin flushing strategy when the kernel as a whole has too many dependencies allocated.
While there are many lines of changes, there should be no functional change in the operation of soft updates.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256812:
Fourth of several cleanups to soft dependency implementation. Add KASSERTS that soft dependency functions only get called for filesystems running with soft dependencies. Calling these functions when soft updates are not compiled into the system become panic's.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256808:
Third of several cleanups to soft dependency implementation. Ensure that softdep_unmount() and softdep_setup_sbupdate() only get called for filesystems running with soft dependencies.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256803:
Second of several cleanups to soft dependency implementation. Delete two unused functions in ffs_sofdep.c.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
MFC of 256801:
First of several cleanups to soft dependency implementation. Convert three functions exported from ffs_softdep.c to static functions as they are not used outside of ffs_softdep.c.
No functional change.
Tested by: Peter Holm and Scott Long Sponsored by: Netflix
|