All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed
@ 2022-01-30 12:31 Paul Blakey
  2022-01-30 14:27   ` kernel test robot
  2022-01-30 16:52   ` kernel test robot
  0 siblings, 2 replies; 5+ messages in thread
From: Paul Blakey @ 2022-01-30 12:31 UTC (permalink / raw)
  To: Paul Blakey, dev, netdev, Cong Wang, Jamal Hadi Salim,
	Pravin B Shelar, davem, Jiri Pirko, Jakub Kicinski,
	Daniel Borkmann
  Cc: Saeed Mahameed, Oz Shlomo, Vlad Buslov, Roi Dayan

Tc skb extension is used to send miss info from tc to ovs datapath
module, and is currently always allocated even if it will not
be used by ovs datapath (as it depends on a requested feature).

Export the static key which is used by openvswitch module to
guard this code path as well, so it will be skipped if ovs
datapath doesn't need it. Enable this code path once
ovs datapath needs it.

Signed-off-by: Paul Blakey <paulb@nvidia.com>
---
 include/net/pkt_cls.h      | 11 ++++++++++
 net/openvswitch/datapath.c | 18 +++++++++-------
 net/openvswitch/datapath.h |  2 --
 net/openvswitch/flow.c     |  3 ++-
 net/sched/cls_api.c        | 43 ++++++++++++++++++++++++++------------
 5 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 676cb8ea9e15..b4a34d3325d2 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -1028,4 +1028,15 @@ struct tc_fifo_qopt_offload {
 	};
 };
 
+#ifdef CONFIG_NET_CLS_ACT
+DECLARE_STATIC_KEY_FALSE(tc_skb_ext_tc_ovs);
+void tc_skb_ext_tc_ovs_enable(void);
+void tc_skb_ext_tc_ovs_disable(void);
+#define tc_skb_ext_tc_ovs_enabled() static_branch_unlikely(&tc_skb_ext_tc_ovs)
+#else /* CONFIG_NET_CLS_ACT */
+static inline void tc_skb_ext_tc_ovs_enable(void) { }
+static inline void tc_skb_ext_tc_ovs_disable(void) { }
+#define tc_skb_ext_tc_ovs_enabled() false
+#endif
+
 #endif
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index 67ad08320886..4c73a768abc5 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c
@@ -37,6 +37,7 @@
 #include <net/genetlink.h>
 #include <net/net_namespace.h>
 #include <net/netns/generic.h>
+#include <net/pkt_cls.h>
 
 #include "datapath.h"
 #include "flow.h"
@@ -1601,8 +1602,6 @@ static void ovs_dp_reset_user_features(struct sk_buff *skb,
 	dp->user_features = 0;
 }
 
-DEFINE_STATIC_KEY_FALSE(tc_recirc_sharing_support);
-
 static int ovs_dp_set_upcall_portids(struct datapath *dp,
 			      const struct nlattr *ids)
 {
@@ -1657,7 +1656,7 @@ u32 ovs_dp_get_upcall_portid(const struct datapath *dp, uint32_t cpu_id)
 
 static int ovs_dp_change(struct datapath *dp, struct nlattr *a[])
 {
-	u32 user_features = 0;
+	u32 user_features = 0, old_features = dp->user_features;
 	int err;
 
 	if (a[OVS_DP_ATTR_USER_FEATURES]) {
@@ -1696,10 +1695,12 @@ static int ovs_dp_change(struct datapath *dp, struct nlattr *a[])
 			return err;
 	}
 
-	if (dp->user_features & OVS_DP_F_TC_RECIRC_SHARING)
-		static_branch_enable(&tc_recirc_sharing_support);
-	else
-		static_branch_disable(&tc_recirc_sharing_support);
+	if ((dp->user_features & OVS_DP_F_TC_RECIRC_SHARING) &&
+	    !(old_features & OVS_DP_F_TC_RECIRC_SHARING))
+		tc_skb_ext_tc_ovs_enable();
+	else if (!(dp->user_features & OVS_DP_F_TC_RECIRC_SHARING) &&
+		 (old_features & OVS_DP_F_TC_RECIRC_SHARING))
+		tc_skb_ext_tc_ovs_disable();
 
 	return 0;
 }
@@ -1839,6 +1840,9 @@ static void __dp_destroy(struct datapath *dp)
 	struct flow_table *table = &dp->table;
 	int i;
 
+	if (dp->user_features & OVS_DP_F_TC_RECIRC_SHARING)
+		tc_skb_ext_tc_ovs_disable();
+
 	for (i = 0; i < DP_VPORT_HASH_BUCKETS; i++) {
 		struct vport *vport;
 		struct hlist_node *n;
diff --git a/net/openvswitch/datapath.h b/net/openvswitch/datapath.h
index fcfe6cb46441..0cd29971a907 100644
--- a/net/openvswitch/datapath.h
+++ b/net/openvswitch/datapath.h
@@ -253,8 +253,6 @@ static inline struct datapath *get_dp(struct net *net, int dp_ifindex)
 extern struct notifier_block ovs_dp_device_notifier;
 extern struct genl_family dp_vport_genl_family;
 
-DECLARE_STATIC_KEY_FALSE(tc_recirc_sharing_support);
-
 void ovs_dp_process_packet(struct sk_buff *skb, struct sw_flow_key *key);
 void ovs_dp_detach_port(struct vport *);
 int ovs_dp_upcall(struct datapath *, struct sk_buff *,
diff --git a/net/openvswitch/flow.c b/net/openvswitch/flow.c
index 02096f2ec678..5839b00c99bc 100644
--- a/net/openvswitch/flow.c
+++ b/net/openvswitch/flow.c
@@ -34,6 +34,7 @@
 #include <net/mpls.h>
 #include <net/ndisc.h>
 #include <net/nsh.h>
+#include <net/pkt_cls.h>
 #include <net/netfilter/nf_conntrack_zones.h>
 
 #include "conntrack.h"
@@ -895,7 +896,7 @@ int ovs_flow_key_extract(const struct ip_tunnel_info *tun_info,
 	key->mac_proto = res;
 
 #if IS_ENABLED(CONFIG_NET_TC_SKB_EXT)
-	if (static_branch_unlikely(&tc_recirc_sharing_support)) {
+	if (tc_skb_ext_tc_ovs_enabled()) {
 		tc_ext = skb_ext_find(skb, TC_SKB_EXT);
 		key->recirc_id = tc_ext ? tc_ext->chain : 0;
 		OVS_CB(skb)->mru = tc_ext ? tc_ext->mru : 0;
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index d4e27c679123..683e870b11fa 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -49,6 +49,21 @@ static LIST_HEAD(tcf_proto_base);
 /* Protects list of registered TC modules. It is pure SMP lock. */
 static DEFINE_RWLOCK(cls_mod_lock);
 
+DEFINE_STATIC_KEY_FALSE(tc_skb_ext_tc_ovs);
+EXPORT_SYMBOL(tc_skb_ext_tc_ovs);
+
+void tc_skb_ext_tc_ovs_enable(void)
+{
+	static_branch_inc(&tc_skb_ext_tc_ovs);
+}
+EXPORT_SYMBOL(tc_skb_ext_tc_ovs_enable);
+
+void tc_skb_ext_tc_ovs_disable(void)
+{
+	static_branch_dec(&tc_skb_ext_tc_ovs);
+}
+EXPORT_SYMBOL(tc_skb_ext_tc_ovs_disable);
+
 static u32 destroy_obj_hashfn(const struct tcf_proto *tp)
 {
 	return jhash_3words(tp->chain->index, tp->prio,
@@ -1615,19 +1630,21 @@ int tcf_classify(struct sk_buff *skb,
 	ret = __tcf_classify(skb, tp, orig_tp, res, compat_mode,
 			     &last_executed_chain);
 
-	/* If we missed on some chain */
-	if (ret == TC_ACT_UNSPEC && last_executed_chain) {
-		struct tc_skb_cb *cb = tc_skb_cb(skb);
-
-		ext = tc_skb_ext_alloc(skb);
-		if (WARN_ON_ONCE(!ext))
-			return TC_ACT_SHOT;
-		ext->chain = last_executed_chain;
-		ext->mru = cb->mru;
-		ext->post_ct = cb->post_ct;
-		ext->post_ct_snat = cb->post_ct_snat;
-		ext->post_ct_dnat = cb->post_ct_dnat;
-		ext->zone = cb->zone;
+	if (tc_skb_ext_tc_ovs_enabled()) {
+		/* If we missed on some chain */
+		if (ret == TC_ACT_UNSPEC && last_executed_chain) {
+			struct tc_skb_cb *cb = tc_skb_cb(skb);
+
+			ext = tc_skb_ext_alloc(skb);
+			if (WARN_ON_ONCE(!ext))
+				return TC_ACT_SHOT;
+			ext->chain = last_executed_chain;
+			ext->mru = cb->mru;
+			ext->post_ct = cb->post_ct;
+			ext->post_ct_snat = cb->post_ct_snat;
+			ext->post_ct_dnat = cb->post_ct_dnat;
+			ext->zone = cb->zone;
+		}
 	}
 
 	return ret;
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed
  2022-01-30 12:31 [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed Paul Blakey
@ 2022-01-30 14:27   ` kernel test robot
  2022-01-30 16:52   ` kernel test robot
  1 sibling, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-01-30 14:27 UTC (permalink / raw)
  To: Paul Blakey, dev, netdev, Cong Wang, Jamal Hadi Salim,
	Pravin B Shelar, davem, Jiri Pirko, Jakub Kicinski,
	Daniel Borkmann
  Cc: kbuild-all

Hi Paul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ff58831fa02deb42fd731f830d8d9ec545573c7c
config: csky-randconfig-r026-20220130 (https://download.01.org/0day-ci/archive/20220130/202201302207.vQWCwrx8-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/0bc6313c4ce18444ed88c99b19d0cb1682772988
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
        git checkout 0bc6313c4ce18444ed88c99b19d0cb1682772988
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=csky SHELL=/bin/bash net/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> net/sched/cls_api.c:55:6: error: redefinition of 'tc_skb_ext_tc_ovs_enable'
      55 | void tc_skb_ext_tc_ovs_enable(void)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/sched/cls_api.c:29:
   include/net/pkt_cls.h:1037:20: note: previous definition of 'tc_skb_ext_tc_ovs_enable' with type 'void(void)'
    1037 | static inline void tc_skb_ext_tc_ovs_enable(void) { }
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~
>> net/sched/cls_api.c:61:6: error: redefinition of 'tc_skb_ext_tc_ovs_disable'
      61 | void tc_skb_ext_tc_ovs_disable(void)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/sched/cls_api.c:29:
   include/net/pkt_cls.h:1038:20: note: previous definition of 'tc_skb_ext_tc_ovs_disable' with type 'void(void)'
    1038 | static inline void tc_skb_ext_tc_ovs_disable(void) { }
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/tc_skb_ext_tc_ovs_enable +55 net/sched/cls_api.c

    54	
  > 55	void tc_skb_ext_tc_ovs_enable(void)
    56	{
    57		static_branch_inc(&tc_skb_ext_tc_ovs);
    58	}
    59	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_enable);
    60	
  > 61	void tc_skb_ext_tc_ovs_disable(void)
    62	{
    63		static_branch_dec(&tc_skb_ext_tc_ovs);
    64	}
    65	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_disable);
    66	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed
@ 2022-01-30 14:27   ` kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-01-30 14:27 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 2890 bytes --]

Hi Paul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ff58831fa02deb42fd731f830d8d9ec545573c7c
config: csky-randconfig-r026-20220130 (https://download.01.org/0day-ci/archive/20220130/202201302207.vQWCwrx8-lkp(a)intel.com/config)
compiler: csky-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/0bc6313c4ce18444ed88c99b19d0cb1682772988
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
        git checkout 0bc6313c4ce18444ed88c99b19d0cb1682772988
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=csky SHELL=/bin/bash net/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> net/sched/cls_api.c:55:6: error: redefinition of 'tc_skb_ext_tc_ovs_enable'
      55 | void tc_skb_ext_tc_ovs_enable(void)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/sched/cls_api.c:29:
   include/net/pkt_cls.h:1037:20: note: previous definition of 'tc_skb_ext_tc_ovs_enable' with type 'void(void)'
    1037 | static inline void tc_skb_ext_tc_ovs_enable(void) { }
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~
>> net/sched/cls_api.c:61:6: error: redefinition of 'tc_skb_ext_tc_ovs_disable'
      61 | void tc_skb_ext_tc_ovs_disable(void)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/sched/cls_api.c:29:
   include/net/pkt_cls.h:1038:20: note: previous definition of 'tc_skb_ext_tc_ovs_disable' with type 'void(void)'
    1038 | static inline void tc_skb_ext_tc_ovs_disable(void) { }
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/tc_skb_ext_tc_ovs_enable +55 net/sched/cls_api.c

    54	
  > 55	void tc_skb_ext_tc_ovs_enable(void)
    56	{
    57		static_branch_inc(&tc_skb_ext_tc_ovs);
    58	}
    59	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_enable);
    60	
  > 61	void tc_skb_ext_tc_ovs_disable(void)
    62	{
    63		static_branch_dec(&tc_skb_ext_tc_ovs);
    64	}
    65	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_disable);
    66	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed
  2022-01-30 12:31 [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed Paul Blakey
@ 2022-01-30 16:52   ` kernel test robot
  2022-01-30 16:52   ` kernel test robot
  1 sibling, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-01-30 16:52 UTC (permalink / raw)
  To: Paul Blakey, dev, netdev, Cong Wang, Jamal Hadi Salim,
	Pravin B Shelar, davem, Jiri Pirko, Jakub Kicinski,
	Daniel Borkmann
  Cc: llvm, kbuild-all

Hi Paul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ff58831fa02deb42fd731f830d8d9ec545573c7c
config: x86_64-randconfig-a016 (https://download.01.org/0day-ci/archive/20220131/202201310016.Z4iqHnpx-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f1c18acb07aa40f42b87b70462a6d1ab77a4825c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/0bc6313c4ce18444ed88c99b19d0cb1682772988
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
        git checkout 0bc6313c4ce18444ed88c99b19d0cb1682772988
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> net/sched/cls_api.c:55:6: error: redefinition of 'tc_skb_ext_tc_ovs_enable'
   void tc_skb_ext_tc_ovs_enable(void)
        ^
   include/net/pkt_cls.h:1037:20: note: previous definition is here
   static inline void tc_skb_ext_tc_ovs_enable(void) { }
                      ^
>> net/sched/cls_api.c:61:6: error: redefinition of 'tc_skb_ext_tc_ovs_disable'
   void tc_skb_ext_tc_ovs_disable(void)
        ^
   include/net/pkt_cls.h:1038:20: note: previous definition is here
   static inline void tc_skb_ext_tc_ovs_disable(void) { }
                      ^
   2 errors generated.


vim +/tc_skb_ext_tc_ovs_enable +55 net/sched/cls_api.c

    54	
  > 55	void tc_skb_ext_tc_ovs_enable(void)
    56	{
    57		static_branch_inc(&tc_skb_ext_tc_ovs);
    58	}
    59	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_enable);
    60	
  > 61	void tc_skb_ext_tc_ovs_disable(void)
    62	{
    63		static_branch_dec(&tc_skb_ext_tc_ovs);
    64	}
    65	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_disable);
    66	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed
@ 2022-01-30 16:52   ` kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-01-30 16:52 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 2627 bytes --]

Hi Paul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ff58831fa02deb42fd731f830d8d9ec545573c7c
config: x86_64-randconfig-a016 (https://download.01.org/0day-ci/archive/20220131/202201310016.Z4iqHnpx-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f1c18acb07aa40f42b87b70462a6d1ab77a4825c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/0bc6313c4ce18444ed88c99b19d0cb1682772988
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Paul-Blakey/net-sched-Enable-tc-skb-ext-allocation-on-chain-miss-only-when-needed/20220130-203224
        git checkout 0bc6313c4ce18444ed88c99b19d0cb1682772988
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> net/sched/cls_api.c:55:6: error: redefinition of 'tc_skb_ext_tc_ovs_enable'
   void tc_skb_ext_tc_ovs_enable(void)
        ^
   include/net/pkt_cls.h:1037:20: note: previous definition is here
   static inline void tc_skb_ext_tc_ovs_enable(void) { }
                      ^
>> net/sched/cls_api.c:61:6: error: redefinition of 'tc_skb_ext_tc_ovs_disable'
   void tc_skb_ext_tc_ovs_disable(void)
        ^
   include/net/pkt_cls.h:1038:20: note: previous definition is here
   static inline void tc_skb_ext_tc_ovs_disable(void) { }
                      ^
   2 errors generated.


vim +/tc_skb_ext_tc_ovs_enable +55 net/sched/cls_api.c

    54	
  > 55	void tc_skb_ext_tc_ovs_enable(void)
    56	{
    57		static_branch_inc(&tc_skb_ext_tc_ovs);
    58	}
    59	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_enable);
    60	
  > 61	void tc_skb_ext_tc_ovs_disable(void)
    62	{
    63		static_branch_dec(&tc_skb_ext_tc_ovs);
    64	}
    65	EXPORT_SYMBOL(tc_skb_ext_tc_ovs_disable);
    66	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-01-30 16:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-30 12:31 [PATCH net-next 1/1] net/sched: Enable tc skb ext allocation on chain miss only when needed Paul Blakey
2022-01-30 14:27 ` kernel test robot
2022-01-30 14:27   ` kernel test robot
2022-01-30 16:52 ` kernel test robot
2022-01-30 16:52   ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.