* 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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]