Re: More on 2.2.18pre2aa2

From: Rik van Riel (riel@conectiva.com.br)
Date: Tue Sep 12 2000 - 08:20:36 EST


On Tue, 12 Sep 2000, Andrea Arcangeli wrote:
> On Tue, 12 Sep 2000, Rik van Riel wrote:
>
> >The large IO delays I'm seeing in certain tests have
> >been traced back to the /elevator/ code. I think I'll
>
> Actually the elevator works as in 2.2.15 (before any fix). The
> latency settings are too high. They should be around 250 for
> reads and 500 for writes.

There's a much much simpler solution.

We simply keep track of how old the oldest request
in the queue is, and when that request is getting
too old (say 1/2 second), we /stop/ all the others
from entering their request into the queue (except
if it can be merged with another request ???).

And when either the queue gets emptied, OR the oldest
request is below some other threshold (say, 1/10th of
a second), then we wake up the other tasks and let them
put their requests on the queue.

This is a very simple idea that gets the /number/ of
requests batched automagically right for the configuration
of disks on the machine it's running on.

No need for a magic number of requests to be bypassed or
not, the user can specify the wanted latency and the system
automatically gets right what the user specifies...

(courtesy of Jeff Merkey who did this for Netware?)

regards,

Rik

--
"What you're running that piece of shit Gnome?!?!"
       -- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/ http://www.surriel.com/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:17 EST