aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/tc_act/tc_ife.h
diff options
context:
space:
mode:
authorAlexander Aring <aring@mojatatu.com>2017-10-11 17:16:08 -0400
committerDavid S. Miller <davem@davemloft.net>2017-10-12 22:23:03 -0700
commitaa9fd9a325d51fa0b11153b03b8fefff569fa955 (patch)
treefa704cc0bf9e43defe81d17a212c769d78b2a675 /include/net/tc_act/tc_ife.h
parentsched: act: ife: migrate to use per-cpu counters (diff)
downloadlinux-dev-aa9fd9a325d51fa0b11153b03b8fefff569fa955.tar.xz
linux-dev-aa9fd9a325d51fa0b11153b03b8fefff569fa955.zip
sched: act: ife: update parameters via rcu handling
This patch changes the parameter updating via RCU and not protected by a spinlock anymore. This reduce the time that the spinlock is being held. Signed-off-by: Alexander Aring <aring@mojatatu.com> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tc_act/tc_ife.h')
-rw-r--r--include/net/tc_act/tc_ife.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/net/tc_act/tc_ife.h b/include/net/tc_act/tc_ife.h
index 104578f16062..c7fb99c3f76c 100644
--- a/include/net/tc_act/tc_ife.h
+++ b/include/net/tc_act/tc_ife.h
@@ -6,12 +6,18 @@
#include <linux/rtnetlink.h>
#include <linux/module.h>
-struct tcf_ife_info {
- struct tc_action common;
+struct tcf_ife_params {
u8 eth_dst[ETH_ALEN];
u8 eth_src[ETH_ALEN];
u16 eth_type;
u16 flags;
+
+ struct rcu_head rcu;
+};
+
+struct tcf_ife_info {
+ struct tc_action common;
+ struct tcf_ife_params __rcu *params;
/* list of metaids allowed */
struct list_head metalist;
};