Subject: Re: Disk scheduling policy (Re: NEW_BUFQ_STRATEGY)
To: Alfred Perlstein <>
From: Greywolf <>
List: tech-kern
Date: 12/01/2003 15:41:13
Thus spake Alfred Perlstein ("AP> ") sometime Today...

AP> That can lead to starvation.  The best bet is to keep it simple and
AP> make sure that you sweep back and forth, never doubling back.

"sweep back and forth" and "never double back" are kind of mutually
exclusive, unless you know of some way to tell the disk to start
at the end and write blocks in reverse order...


Would it not be better to simply do iterative sweeps from [0..n] each
time, and if a request comes in to write a block at an address which
has already been surpassed, it will not get serviced until the next
regular iteration?

or would that be less than optimal?  (hm, i think I see the dilemma
on balancing delayed vs. immediate writes...)

Other question:

If you have a simple sweep algorithm, would it be truly necessary to
differentiate between delayed and immediate writes?  When is an
immediate write really REALLY needed, as in "You need to write this
NOW and DAMN all the other pending requests"?

NetBSD: Servers' choice!