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>
This commit is contained in:
committed by
David S. Miller
parent
e154b639bb
commit
f607a15800
@ -104,6 +104,7 @@ struct garp_applicant {
|
||||
struct sk_buff_head queue;
|
||||
struct sk_buff *pdu;
|
||||
struct rb_root gid;
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
|
||||
struct garp_port {
|
||||
|
Reference in New Issue
Block a user