Re: 2.6.4-mm2

From: Miquel van Smoorenburg
Date: Fri Mar 19 2004 - 04:58:40 EST


In article <20040318235200.25c376a9.akpm@xxxxxxxx> you write:
>Jens Axboe <axboe@xxxxxxx> wrote:
>> I thought about this last night, and I have a better idea that gets the
>> same accomplished. The problem right now is indeed that we aren't
>> tracking who needs to be unplugged, like we used to. The solution is to
>> do the exact same style plugging (with block helpers) that we used to,
>> except the plug_list is maintained in the driver. So when you do
>> dm_unplug(), it doesn't _have_ to iterate the full device list, only
>> those that do need kicking.
>
>Yes, it would be nice but I fear that it gets complicated.
>
>Is it not the case that two dm maps can refer to the same queue? Say, one
>map uses /dev/hda1 and another map uses /dev/hda2?
>
>If so, then when the /dev/hda queue is plugged we need to tell both the
>higher-level maps that this queue needs an unplug. So blk_plug_device()
>and the various unplug functions need to perform upcalls to an arbitrary
>number of higher-level drivers, and those drivers need to keep track of the
>currently-plugged queues without adding data structures to the
>request_queue structure.
>
>It can be done of course, but could get messy.

I implemented exactly this for the congestion stuff. It
isn't perfect, but perhaps it is of some use:

https://www.redhat.com/archives/linux-lvm/2004-February/msg00215.html

It got shot down because it was too complicated..

Mike.
--
Netu, v qba'g yvxr gur cynvagrkg :)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/