DragonFly commits List (threaded) for 2009-08
DragonFly BSD
DragonFly commits List (threaded) for 2009-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: bioqdisksort - refactor I/O queueing to fix read starvation issues.


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 19 Aug 2009 14:02:45 -0700 (PDT)

commit 30e5862e1cc9f2ce71e9c1cc2c6012a6fcdb73c7
Author: Matthew Dillon <dillon@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]