Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Mar 2003 01:17:55 -0500 (EST)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Jeff Roberson <jeff@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, <cvs-src@FreeBSD.org>, <cvs-all@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/kern vfs_cluster.c
Message-ID:  <20030311011437.A81379-100000@mail.chesapeake.net>
In-Reply-To: <200303110614.h2B6E3c2097062@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 10 Mar 2003, Jeff Roberson wrote:

>   Log:
>    - Regularize variable usage in cluster_read().
>    - Issue the io that we will later block on prior to doing cluster read ahead
>      so that it is more likely to be ready when we block.
>    - Loop issuing clustered reads until we've exhausted the seq count supplied
>      by the file system.
>    - Use a sysctl tunable "vfs.read_max" to determine the maximum number of
>      blocks that we'll read ahead.

This provided for a ~20% perf improvement in some tests on RAID systems.
I suspect that in some cases it will be much more than that and in others
much less.  I found no cases where the perf was worse.  The current
sequential heuristic is fairly reasonable.

Tuning read_max only does good to a certain point.  This code could
certainly be made faster given some more careful performance tuning
although I am not likely to do this until we start on the buf cache
refactoring for 6.0.

If you'd like to run your own perf tests, especially on RAID systems with
large stripe sizes (128k) I'd love to hear the results.

Cheers,
Jeff


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030311011437.A81379-100000>