Messages in this thread |  | | Date | Tue, 12 Sep 2000 10:20:36 -0300 (BRST) | From | Rik van Riel <> | Subject | Re: More on 2.2.18pre2aa2 |
| |
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/
|  |