DragonFly commits List (threaded) for 2008-06
cvs commit: src/sys/kern vfs_bio.c
dillon 2008/06/09 22:02:09 PDT
DragonFly src repository
Change bwillwrite() to smooth out performance under heavy loads. Blocking
based on strict hystersis was being used to try to gang flushes together
but filesystems can still blow out the buffer cache and cause processes
to block for long periods of time waiting for the dirty count to drop
Instead, as the number of dirty buffers exceeds the desired maximum
bwillwrite() imposes a dynamic delay which increases as the number of
dirty buffers increase. This improves the stall behavior under heavy loads
and keeps the system responsive.
TODO: The algorithm needs to have a per-LWP heuristic to penalize heavy
writers more then light ones.
Revision Changes Path
1.103 +41 -10 src/sys/kern/vfs_bio.c