]> git.baikalelectronics.ru Git - kernel.git/commit
garp: remove last synchronize_rcu() call
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 12 May 2011 21:46:56 +0000 (17:46 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 May 2011 21:46:56 +0000 (17:46 -0400)
commit318a8d3f9fd1fa87910e5399f1d135df9e2f6788
tree87932db617f445111cb72f5fa0d8f4eaecc91b45
parent4b6a0b6d69c02a2bf96bbb0d95666813cfc57396
garp: remove last synchronize_rcu() call

When removing last vlan from a device, garp_uninit_applicant() calls
synchronize_rcu() to make sure no user can still manipulate struct
garp_applicant before we free it.

Use call_rcu() instead, as a step to further net_device dismantle
optimizations.

Add the temporary garp_cleanup_module() function to make sure no pending
call_rcu() are left at module unload time [ this will be removed when
kfree_rcu() is available ]

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/garp.h
net/802/garp.c