Subject: Re: Disk scheduling policy (Re: NEW_BUFQ_STRATEGY)
To: Alfred Perlstein <firstname.lastname@example.org>
From: Thor Lancelot Simon <email@example.com>
Date: 12/01/2003 18:11:59
On Mon, Dec 01, 2003 at 03:04:58PM -0800, Alfred Perlstein wrote:
> * Jason Thorpe <firstname.lastname@example.org> [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@example.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