From owner-cvs-all Mon Mar 10 22:17:59 2003 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C138737B401; Mon, 10 Mar 2003 22:17:56 -0800 (PST) Received: from mail.chesapeake.net (chesapeake.net [205.130.220.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9FE5A43F93; Mon, 10 Mar 2003 22:17:55 -0800 (PST) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost) by mail.chesapeake.net (8.11.6/8.11.6) with ESMTP id h2B6Htf34165; Tue, 11 Mar 2003 01:17:55 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Tue, 11 Mar 2003 01:17:55 -0500 (EST) From: Jeff Roberson To: Jeff Roberson Cc: src-committers@FreeBSD.org, , Subject: Re: cvs commit: src/sys/kern vfs_cluster.c In-Reply-To: <200303110614.h2B6E3c2097062@repoman.freebsd.org> Message-ID: <20030311011437.A81379-100000@mail.chesapeake.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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-all" in the body of the message