Messages in this thread | | | Date | Tue, 3 Jun 2003 03:20:34 -0700 | From | Andrew Morton <> | Subject | Re: Counter-kludge for 2.5.x hanging when writing to block device |
| |
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.
- 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/
| |