Messages in this thread | | | Date | Thu, 2 Feb 2012 12:35:13 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 02/11] block: relocate elevator initialized test from blk_cleanup_queue() to blk_drain_queue() |
| |
Hello,
On Thu, Feb 02, 2012 at 03:20:42PM -0500, Vivek Goyal wrote: > > @@ -359,6 +359,13 @@ EXPORT_SYMBOL(blk_put_queue); > > */ > > void blk_drain_queue(struct request_queue *q, bool drain_all) > > { > > + /* > > + * The caller might be trying to tear down @q before its elevator > > + * is initialized, in which case we don't want to call into it. > > + */ > > + if (!q->elevator) > > + return; > > + > > Shouldn't blk_throtl_drain() be called irrespective of the fact whether > elevator is initilialized or not? On bio based drivers, there will be > no elevator but bios can still be throttled.
Hmmm... probably, but doesn't that mean the code is already broken for bio based drivers using throtl?
Thanks.
-- tejun
| |