Subject: Re: Disk scheduling policy (Re: NEW_BUFQ_STRATEGY)
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 12/01/2003 19:56:06
On Mon, Dec 01, 2003 at 04:29:38PM -0800, Jason Thorpe wrote:
>
> This is why I suggested creating an uber-buf that contained a list of
> sub-bufs. The uber-buf would contain the starting block # and the
> overall length, and the sub-bufs would describe the individual
> transfers that were gathered into the uber-buf. You could even use the
> normal bufq linkage (or a TAILQ union over it) to hook the sub-bufs
> into the uber-buf.
Unfortunately, this requires modifying every disk driver to handle
uber-bufs instead of bufs, no? It's highly similar to the change
that BSDI made long ago to chain buffers together through a pointer
in struct buf -- we could have whacked pagemove() much earlier if
we picked up that change, but we didn't because of the changes it
would have required in all of the disk drivers.
--
Thor Lancelot Simon tls@rek.tjls.com
But as he knew no bad language, he had called him all the names of common
objects that he could think of, and had screamed: "You lamp! You towel! You
plate!" and so on. --Sigmund Freud