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