* Linus Torvalds <[EMAIL PROTECTED]> wrote:

> Even with a good software IO scheduler, when you have disks that do 
> tagged queueing, if you fill up the disk queue with a few dozen 
> (depends on the disk what the queue limit is) huge write requests, it 
> doesn't really matter if the _software_ queuing then gives a big 
> advantage to reads coming in. They'll _still_ be waiting for a long 
> time, especially since you don't know what the disk firmware is going 
> to do.

by far the largest advantage of tagged queueing is when we go from 1 
pending request to 2 pending requests. The rest helps too for certain 
workloads (especially benchmarks), but if the IRQ handling is fast 
enough, having just 2 is more than enough to get 80% of the advantage of 
say of hardware-queue with a depth of 64.

So perhaps if there's any privileged reads going on then we should limit 
writes to a depth of 2 at most, with some timeout mechanism that would 
gradually allow the deepening of the hardware queue, as long as no 
highprio reads come inbetween? With 2 pending requests and even assuming 
worst-case seeks the user-visible latency would be on the order of 20-30 
msecs, which is at the edge of human perception. The problem comes when 
a hardware queue of 32-64 entries starves that one highprio read which 
then results in a 2+ seconds latency.

        Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to