Re: IO scheduler, queue depth, nr_requests
From: Bill Davidsen
Date: Wed Feb 25 2004 - 15:16:36 EST
linux.kernelNick Piggin wrote:
But the whole reason it is getting blocked in the first place
is because your controller is sucking up all your requests.
The whole problem is not a problem if you use properly sized
queues.
I'm a bit surprised that it wasn't working well with a controller
queue depth of 64 and 128 nr_requests. I'll give you a per process
request limit patch to try in a minute.
And there's the rub... he did try what you are calling correctly sized
queues, and his patch works better. I'm all in favor of having the
theory and then writing the code, but when something works I would
rather understand why and modify the theory.
In other words, given a patch which does help performance in this case,
it would be good to understand why, instead of favoring a solution which
is better in theory, but which has been tried and found inferior in
performance.
I am NOT saying we should just block, effective as Miquel's patch seems,
just that we should understand why it works well instead of saying it is
in theory bad. I agree, but it works! Hopefully per-process limits solve
this, but they "in theory" could result in blocking a process in an
otherwise idle system. Unless I midread what you mean of course.
Processes which calculate for a while and write results are not uncomon,
and letting such a process write a whole bunch of data and then go
calculate while it is written is certainly the way it should work. I'm
unconvinced that per-process limits are the whole answer without
considering the entire io load on the system.
Feel free to tell me I'm misreading your intent (and why).
--
bill on the road <davidsen@xxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/