Messages in this thread | | | Date | Mon, 1 Mar 2004 14:31:39 -0800 | From | Andrew Morton <> | Subject | Re: per-cpu blk_plug_list |
| |
Andrew Morton <akpm@osdl.org> wrote: > > @@ -1251,6 +1251,9 @@ void blk_run_queues(void) > { > LIST_HEAD(local_plug_list); > > + if (list_empty(&blk_plug_list)) > + return; > +
hmm, no, that won't help. There will always be at least one plugged disk.
Perhaps what we need here is a per-task container of "queues which I have plugged". Or, more accurately, "queues which need to be unplugged so that I can complete". It'll get tricky because in some situations a task can need unplugging of a queue which it did not plug, and even a queue to which it did not submit any I/O.
You should try just nuking the whole plugging scheme, btw. Stick a bunch of `return' statements at the top of all the plugging functions. I bet that would run nicely...
- 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/
| |