Re: [ext3][kernels >= 2.6.20.7 at least] KDE going comatose when FS is under heavy write load (massive starvation)

Ingo Molnar
2007-04-28T16:37:53Z

* Linus Torvalds <torvalds@linux-foundation.org> 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