Re: Disk scheduling policy (Re: NEW_BUFQ_STRATEGY)

Jason Thorpe <[email protected]>
Newsgroups gmane.os.netbsd.devel.performance,gmane.os.netbsd.devel.kernel
Message-ID <[email protected]>
On Dec 1, 2003, at 4:23 PM, Thor Lancelot Simon wrote:

> I thought I suggested this to you about a year ago and you were rather
> strongly opposed, due to the VM system tricks involved in the obvious
> way one would do this given the rest of our current implementation?  I
> am _definitely_ in favor of request coalescing in disksort.

I am only opposed to any solution that uses VM to perform the 
coalescing.  I would prefer that most of the requests issued with 
"struct buf" not be mapped into KVA at all (see yamt's patches that get 
us part of the way there); it's rather silly to map a page into KVA 
just so we can extract the PA of the page for DMA later.

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.

         -- Jason R. Thorpe <[email protected]>
PGP.sig (application/pgp-signature, 186 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.