Re: [rfc] IPVS: convert scheduler management to RCU

To: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Subject: Re: [rfc] IPVS: convert scheduler management to RCU
Cc: Changli Gao <xiaosuo@xxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, Stephen Hemminger <shemminger@xxxxxxxxxx>, Wensong Zhang <wensong@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, Paul E McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
From: yao zhao <dragonlinux@xxxxxxxxx>
Date: Fri, 20 Aug 2010 13:54:11 -0400
On Fri, Aug 20, 2010 at 11:32 AM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> Le vendredi 20 août 2010 à 11:04 -0400, yao zhao a écrit :
>> The code here is deleting a global from the list, am I right? I didn't
>> see any called case.
>> what are you going to do more? free it? write_unlock_bh should make the mb.
> If you dont wait _after_ delete from list and following actions
> (kfree() without a call_rcu(), or module unload, or whatever), a reader
> might access your data/code and crash the box.
> spin_unlock_bh() wont help you at all, since only writers are freezed by
> the lock (since readers only hold rcu_lock)
> Documentation/RCU/whatisRCU.txt line 705
> Documentation/RCU/checklist.txt  15)
I read the code again and that global is in a module then you are right.
If that global is not in a module then you don't need it at all, as in
that global only functions pointer or name... which never be changed.

To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

<Prev in Thread] Current Thread [Next in Thread>