git: kernel - Fix cluster_read random I/O heuristic

Matthew Dillon dillon at
Sun Mar 28 11:29:48 PDT 2010

commit 69adbed48cd5565446e8013fcc5131405a9e7c05
Author: Matthew Dillon <dillon at>
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
    Reported-by: Jan Lentfer <Jan.Lentfer at>

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

DragonFly BSD source repository

More information about the Commits mailing list