act_vlan: VLAN action rewrite to use RCU lock/unlock and update
authorManish Kurup <kurup.manish@gmail.com>
Tue, 7 Nov 2017 20:49:05 +0000 (15:49 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Nov 2017 06:32:20 +0000 (15:32 +0900)
commit4c5b9d9642c859f7369338fc42c0f62f4151bef3
tree614217fd7b1496eba498a0be1fea1b718325e63c
parentbf068bdd3c1e29c516ef0dc5cfb3c2b95fd450d1
act_vlan: VLAN action rewrite to use RCU lock/unlock and update

Using a spinlock in the VLAN action causes performance issues when the VLAN
action is used on multiple cores. Rewrote the VLAN action to use RCU read
locking for reads and updates instead.
All functions now use an RCU dereferenced pointer to access the VLAN action
context. Modified helper functions used by other modules, to use the RCU as
opposed to directly accessing the structure.

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Manish Kurup <manish.kurup@verizon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tc_act/tc_vlan.h
net/sched/act_vlan.c