Skip site navigation (1)Skip section navigation (2)
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>