git: bioqdisksort - refactor I/O queueing to fix read starvation issues.
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Aug 19 14:05:33 PDT 2009
commit 30e5862e1cc9f2ce71e9c1cc2c6012a6fcdb73c7
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Aug 19 13:59:39 2009 -0700
bioqdisksort - refactor I/O queueing to fix read starvation issues.
It is possible to queue several hundred megabytes worth of write I/O's
all at once. When this occurs, whether we sort the queue or not, reads
wind up getting seriously starved.
Refactor bioqdisksort() to prioritize reads over writes and to also allow
writes to 'leak' into the read space every so often to prevent write
starvation. The new code is designed to make best use of drive zone caches.
Summary of changes:
sys/kern/subr_disk.c | 169 +++++++++++++++++++------------------------------
sys/sys/buf.h | 8 +-
sys/sys/buf2.h | 56 ++++++----------
3 files changed, 91 insertions(+), 142 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/30e5862e1cc9f2ce71e9c1cc2c6012a6fcdb73c7
--
DragonFly BSD source repository
More information about the Commits
mailing list