Re: Counter-kludge for 2.5.x hanging when writing to block device

Jens Axboe (axboe@suse.de)
Tue, 3 Jun 2003 16:42:54 +0200


On Tue, Jun 03 2003, Andrew Morton wrote:
> Jens Axboe <axboe@suse.de> wrote:
> >
> > > b) it should check that there are still requests in flight after parking
> > > itself on the waitqueue rather than relying on the timeout.
> >
> > This is important, would be much nicer to pass in the backing dev. This
> > is a big problem, imho. It's broken right now.
>
> The throttling is not really a per-device concept. It is a "global"
> concept.
>
> If a process has written to a really slow device and has encountered
> throttling due to exceeded dirty memory limits, we _do_ want to wake that
> process up (to reevaluate the system state) if a bunch of writes terminate
> against a fast device.
>
> There is a fixed amount of system memory which the administrator has
> dedicated to buffering of dirty-and-writeback data and I believe that not
> discriminating between different bandwidth devices will give the overall
> lowest latency. This may be wrong, and maybe we do want to throttle tasks
> which write to slow devices more heavily.
>
> Or place the device's nominal bandwidth in the backing_dev_info, account
> for dirty memory on a per-queue basis and limit the permissible amount of
> dirty memory against slower devices. That's probably not too hard to do
> but I'm not sure that the combination of slow and fast devices both under
> heavy writeout at the same time is common enough to justify it.

Per process slow vs fast device is probably not common enough to justify
any changes, as long as we deal correctly with fast vs slow globally.

But your mail explains it nicely, thanks.

-- 
Jens Axboe

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