Subject: Re: Disk scheduling policy (Re: NEW_BUFQ_STRATEGY)
To: Jason Thorpe <>
From: Thor Lancelot Simon <>
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	                            
   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