[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJFZqHxTh4kxaqiKWNGuu7vV_VvMx8jH-qXBr+dj7YNOitDrpQ@mail.gmail.com>
Date: Tue, 1 Nov 2011 16:33:49 +0800
From: RongQing Li <roy.qing.li@...il.com>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH next-net] ipv6: Use hlist_for_each_entry_rcu_bh() in ipv6_chk_same_addr()
2011/11/1 David Miller <davem@...emloft.net>:
> From: roy.qing.li@...il.com
> Date: Tue, 1 Nov 2011 13:30:55 +0800
>
>> From: RongQing.Li <roy.qing.li@...il.com>
>>
>> Replace hlist_for_each_entry and hlist_for_each_entry_rcu with
>> hlist_for_each_entry_rcu_bh() in ipv6_chk_same_addr and
>> ipv6_chk_addr to keep that all dereference methods for addr_list
>> are same, and take advantage of _rcu_bh() critical section
>> checking and prevention from compiler merging or refetching.
>>
>> Signed-off-by: RongQing.Li <roy.qing.li@...il.com>
>
> Callers are already in an RCU section with BH disabled when these
> functions are invoked.
>
Yes, But I think the code readable is not good,
sometime, call hlist_for_each_entry, sometime
hlist_for_each_entry_rcu, sometime hlist_for_each_entry_rcu_bh.
I think the RCU pair should be :
rcu_read_lock_bh
hlist_for_each_entry_rcu_bh(...)
rcu_read_unlock_bh
at the same time, hlist_for_each_entry can not prevent compiler from
merging or refetching.
-Roy
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists