Re: Disk scheduling policy (Re: NEW_BUFQ_STRATEGY)

Thor Lancelot Simon <[email protected]>
Newsgroups gmane.os.netbsd.devel.kernel,gmane.os.netbsd.devel.performance
Message-ID <[email protected]>
On Mon, Dec 01, 2003 at 03:04:58PM -0800, Alfred Perlstein wrote:
> * Jason Thorpe <[email protected]> [031201 14:00] wrote:
> > 
> > On Dec 1, 2003, at 12:07 PM, Thor Lancelot Simon wrote:
> > 
> > >| In 6.5.8, the queues are split. Doing this permits queuing delayed 
> > >writes
> > >| into one queue, while synchronous writes and reads are entered into 
> > >another
> > >| queue. In 6.5.8 the disk driver will alternate between queues. This 
> > 
> > This is a pretty cool, and fairly simple, algorithm.  I bet it could be 
> > implemented as a back-end to the new bufq code pretty easily.
> 
> If you keep the bufs on two queues, a combined queue and seperate
> queues you'll pay double the sorting cost, but only have to disrupt
> the elevator algorithm when you reach a tuneable threshold.

Matt Thomas suggested simply starting at whichever end of the other
queue is nearer the current head position, which is an interesting 
idea.  I was pondering zoning the disk, so you'd have multiple "queues"
on each side of the "delayed"/"normal" divide, and could try to switch
to the one nearest the block you're currently at, but that adds
significant complexity.  I'm going to implement a couple of different
things and measure them for different workloads.

-- 
 Thor Lancelot Simon	                                      [email protected]
   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
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.