Messages in this thread | | | Date | Fri, 19 Mar 2004 11:00:31 +0100 | From | Jens Axboe <> | Subject | Re: 2.6.4-mm2 |
| |
On Fri, Mar 19 2004, Miquel van Smoorenburg wrote: > In article <20040318235200.25c376a9.akpm@osdl.org> you write: > >Jens Axboe <axboe@suse.de> 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..
It is, at least the profiles so far don't even warrant it. It's worth to keep in mind, though.
-- 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/
| |