Date: Thu, 17 Sep 1998 09:18:35 -0700 From: Mike Smith <mike@smith.net.au> To: dan@math.berkeley.edu (Dan Strick) Cc: freebsd-current@FreeBSD.ORG Subject: Re: Download of FreeBSD 3.0-SNAP Message-ID: <199809171618.JAA00680@word.smith.net.au> In-Reply-To: Your message of "Thu, 17 Sep 1998 02:05:23 PDT." <199809170905.CAA27537@math.berkeley.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
These are all good suggestions, which is why we do all these things already as far as is actually possible. > For all of these reasons, I favor a simple insertion sort by block > number using two lists of buffers not yet converted into I/O commands, > a "current" list and a "next" list. A new buffer is inserted into the > "current" list provided that: > > 1) The new buffer block number exceeds the first block number in the > "current" list minus some small quantity (e.g. our best guess at the > drive's cylinder size) intended to capture on average blocks in the > current cylinder, and > > 2) The number of buffers inserted into the "current" list since the > "next" list last become nonempty has not exceeded some small > number (e.g. 20) intended to encourage "fairness". > > Otherwise the new buffer goes into the "next" list. The goal of this > strategy is a simple compromise between the desires to maximize > throughput and to minimize maximum response time. > > One other thing: hardware and circumstances permitting (I don't know > about typical PC DMA capabilities), similar I/O requests for > contiguous disk addresses should be coalesced. This can be a > gigantic win. > > I submit these ideas for consideration the next time someone decides > to overhaul the optimization code. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809171618.JAA00680>
