[dm-devel] [PATCH 3/2] dm: table load must always try dm_setup_md_queue
Kiyoshi Ueda
k-ueda at ct.jp.nec.com
Thu Jun 10 02:54:30 UTC 2010
Hi Mike,
On 06/09/2010 05:53 PM +0900, Mike Snitzer wrote:
> On Wed, Jun 09 2010 at 1:38am -0400, Kiyoshi Ueda wrote:
>> On 06/05/2010 05:15 AM +0900, Mike Snitzer wrote:
>>> @@ -2164,7 +2164,8 @@ static int dm_init_request_based_queue(s
>>> {
>>> struct request_queue *q = NULL;
>>>
>>> - BUG_ON(md->queue->elevator);
>>> + if (unlikely(md->queue->elevator))
>>> + return 1;
>>
>> I think the "unlikely" should be rather "likely", since
>> dm_init_request_based_queue() is now called whenever request-based
>> table is loaded even after the actual initialization has been done.
>
> Yes, good point. Though I'd expect reloading a request-based table is
> actually fairly rare. Is it really all that worthwhile to have any
> branch prediction here? Should we just remove the likely/unlikely
> entirely?
For multipath, table reloading happens when path connection state is
changed (e.g. link-up => link-down), since if a path state becomes down,
the device for the path disappears and multipath configuration is changed.
Although I'm not sure "it's actually fairly rare", I believe it's rare.
So I don't object to remove the branch prediction.
Thanks,
Kiyoshi Ueda
More information about the dm-devel
mailing list