Re: [PATCH 07/11] blkcg: make request_queue bypassing on allocation

From: Tejun Heo
Date: Fri Apr 13 2012 - 16:47:15 EST


On Fri, Apr 13, 2012 at 04:44:46PM -0400, Vivek Goyal wrote:
> On Fri, Apr 13, 2012 at 01:37:26PM -0700, Tejun Heo wrote:
>
> [..]
> > blk_cleanup_queue() doesn't use blk_queue_bypass_start() to enter
> > bypass mode.
>
> Oh now elevator_exit() has been moved into blk_release_queue(). But
> problem will still be there, isn't it? During driver init, most likely driver
> is holding last reference of the queue and blk_release_queue() will be called
> in the context of blk_cleanup_queue() causing the overhead?

Hmmm? blk_cleanup_queue() will put the queue into bypassing mode
without going through synchronize_rcu() and all the following
bypassing operations just inc/decs bypass_depth without any draining
operation.

Thanks.

--
tejun
--
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/