git: kernel - Fix cluster_read random I/O heuristic

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Mar 28 11:29:48 PDT 2010


commit 69adbed48cd5565446e8013fcc5131405a9e7c05
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Mar 28 11:23:04 2010 -0700

    kernel - Fix cluster_read random I/O heuristic
    
    * cluster_read was improperly accounting for the seqcount in the random
      I/O heuristic, failing to reduce the count in the loop which led to
      fairly maximal sequential read-ahead even for random I/O.
    
      Properly reduce the seqcount for both the initial buffer and in the
      read-ahead loop, which has the effect of terminating the loop early
      or not running it at all when the I/O is random.
    
    * HAMMER was not scaling the seqcount for the heuristic to BKVASIZE.
    
    * Thanks to Jan for spending the time required to bisect and track down the
      problem!
    
    Reported-by: Jan Lentfer <Jan.Lentfer at web.de>

Summary of changes:
 sys/kern/vfs_cluster.c        |   17 ++++++++++-------
 sys/vfs/hammer/hammer_vnops.c |    4 ++--
 2 files changed, 12 insertions(+), 9 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/69adbed48cd5565446e8013fcc5131405a9e7c05


-- 
DragonFly BSD source repository





More information about the Commits mailing list