Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Ying Xue
On 05/29/2015 09:50 AM, Eric Dumazet wrote: > I count 5 places of redundancy. > Another two places you found are necessary indeed! Acked-by: Ying Xue > diff --git a/net/core/neighbour.c b/net/core/neighbour.c > index > 3a74df750af4044eba0e7d88ae01ca9b4dac0e72..ac3b69183cc982e722d9683d6de7a39

Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Eric Dumazet
On Fri, 2015-05-29 at 09:21 +0800, Ying Xue wrote: > On 05/28/2015 06:13 PM, Eric Dumazet wrote: > > This patch is not needed. > > > > You really should read Documentation/RCU , because it looks like you are > > quite confused. > > > > When we remove an element from a RCU protected list, all the

Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Ying Xue
On 05/28/2015 06:13 PM, Eric Dumazet wrote: > This patch is not needed. > > You really should read Documentation/RCU , because it looks like you are > quite confused. > > When we remove an element from a RCU protected list, all the objects in > the chain are already ready to be caught by rcu read

Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Herbert Xu
On Thu, May 28, 2015 at 07:38:21AM -0700, Eric Dumazet wrote: > > A = B; is perfectly fine since both A and B have the same __rcu > attribute. > > Sparse has no warning and should not. > > root@edumazet-glaptop2:/usr/src/net# grep CONFIG_SPARSE_RCU_POINTER .config > CONFIG_SPARSE_RCU_POINTER=y >

Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Eric Dumazet
On Thu, 2015-05-28 at 21:50 +0800, Herbert Xu wrote: > This patch is indeed bogus but accessing an RCU-protected like > this will trigger sparse warnings. So better make it an > RCU_INIT_POINTER. A = B; is perfectly fine since both A and B have the same __rcu attribute. Sparse has no warning

Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Herbert Xu
Eric Dumazet wrote: > > This patch is not needed. > > You really should read Documentation/RCU , because it looks like you are > quite confused. > > When we remove an element from a RCU protected list, all the objects in > the chain are already ready to be caught by rcu readers. > > Therefore,

Re: [PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Eric Dumazet
On Thu, 2015-05-28 at 16:28 +0800, Ying Xue wrote: > Commit e4c4e448cf55 ("neigh: Convert garbage collection from softirq > to workqueue") misses to use rcu_assign_pointer() macro to assign a > RCU-protected pointer. > > Signed-off-by: Ying Xue > --- > net/core/neighbour.c |3 ++- > 1 file c

[PATCH net-next] neigh: Add missing rcu_assign_pointer

2015-05-28 Thread Ying Xue
Commit e4c4e448cf55 ("neigh: Convert garbage collection from softirq to workqueue") misses to use rcu_assign_pointer() macro to assign a RCU-protected pointer. Signed-off-by: Ying Xue --- net/core/neighbour.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/core/neigh