Messages in this thread | | | Date | Wed, 13 Sep 2000 06:26:58 -0700 | From | Mitchell Blank Jr <> | Subject | Re: (reiserfs) Re: More on 2.2.18pre2aa2 |
| |
James Sutherland wrote: > In terms of latency, I'd suggest we aim to keep the device in use all the > time we have outstanding requests: every time the device is ready to > accept a request, we feed it the "next" one in the queue; until it is free > again, requests pile up in the queue, being sorted, merged etc. > > This should perform very well under light loads - requests just get passed > to the device as fast as they can be handled - and under very heavy loads > - we have a large queue in play, with plenty of scope for reordering, > merges etc.
The "large queue" goes against the whole point of this exercise - that is that if there are many items in the "queue" being sorted then unlucky requests can end up waiting a long time to get serviced. You want to have some reasonable break-off point where you just decide to make an elevator swipe in order to avoid starving those requests.
Keep in mind that I'm using the word "queue" in a confusing manner here - we're talking about how much we'll try to elevator-sort in a go, not the actual queue of all requests. I've been calling this a queue because from a performance standpoint that's what it is, so I think it helps to think of the problem that way.
Oh yeah one other thing about huge elevator queues to think about (although its not too pertinant these days). A friend of mine had a job 15 years or so ago to working on a commercial UNIX flavor. They were having some severe I/O performance problems under high loads. The problem was that they were trying to sort and merge all the pending requests. When I/O was heavy this ended up chewing all the CPU time and the kernel wouldn't actually be able to keep up sending requests to the disk :-) However, keep in mind that this was int the bad-old-days when "hard drive" meant a rack-mount Eagle and the elevator was expected to consider things like head positioning and rotational speed when doing a sort...
-Mitch - 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/
| |