[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070428163740.GA17061@elte.hu>
Date: Sat, 28 Apr 2007 18:37:40 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Mikulas Patocka <mikulas@...ax.karlin.mff.cuni.cz>,
Mike Galbraith <efault@....de>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Jens Axboe <jens.axboe@...cle.com>
Subject: Re: [ext3][kernels >= 2.6.20.7 at least] KDE going comatose when FS is under heavy write load (massive starvation)
* Linus Torvalds <torvalds@...ux-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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists