diff options
author | Felix Fietkau <nbd@openwrt.org> | 2016-01-15 10:47:14 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2016-01-15 10:47:14 +0000 |
commit | d265655f5eadf7b6ef67a006a9dcd8d97abf4e04 (patch) | |
tree | d2ecf759c0f86a61b90b472c11c8752044f609e6 /target/linux/generic | |
parent | aa2c73ab6bb417dfb291fb467e9c58ae74885845 (diff) | |
download | master-187ad058-d265655f5eadf7b6ef67a006a9dcd8d97abf4e04.tar.gz master-187ad058-d265655f5eadf7b6ef67a006a9dcd8d97abf4e04.tar.bz2 master-187ad058-d265655f5eadf7b6ef67a006a9dcd8d97abf4e04.zip |
kernel: compile out SNMP MIB related counting if debloat-proc is active - improves network stack performance
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48239 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic')
3 files changed, 132 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.1/902-debloat_proc.patch b/target/linux/generic/patches-4.1/902-debloat_proc.patch index ae721502fe..65d6cf88f7 100644 --- a/target/linux/generic/patches-4.1/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.1/902-debloat_proc.patch @@ -339,3 +339,47 @@ remove_proc_entry("dev", net->proc_net); } +--- a/include/net/snmp.h ++++ b/include/net/snmp.h +@@ -123,6 +123,30 @@ struct linux_xfrm_mib { + #define DECLARE_SNMP_STAT(type, name) \ + extern __typeof__(type) __percpu *name + ++#ifdef CONFIG_PROC_STRIPPED ++#define SNMP_INC_STATS_BH(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS_USER(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS_ATOMIC_LONG(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_DEC_STATS(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS_BH(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS_USER(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_UPD_PO_STATS(mib, basefield, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_UPD_PO_STATS_BH(mib, basefield, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++ ++#else ++ + #define SNMP_INC_STATS_BH(mib, field) \ + __this_cpu_inc(mib->mibs[field]) + +@@ -159,8 +183,9 @@ struct linux_xfrm_mib { + __this_cpu_add(ptr[basefield##OCTETS], addend); \ + } while (0) + ++#endif + +-#if BITS_PER_LONG==32 ++#if (BITS_PER_LONG==32) && !defined(CONFIG_PROC_STRIPPED) + + #define SNMP_ADD_STATS64_BH(mib, field, addend) \ + do { \ diff --git a/target/linux/generic/patches-4.3/902-debloat_proc.patch b/target/linux/generic/patches-4.3/902-debloat_proc.patch index 0d409b677f..5d74f43d24 100644 --- a/target/linux/generic/patches-4.3/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.3/902-debloat_proc.patch @@ -339,3 +339,47 @@ remove_proc_entry("dev", net->proc_net); } +--- a/include/net/snmp.h ++++ b/include/net/snmp.h +@@ -123,6 +123,30 @@ struct linux_xfrm_mib { + #define DECLARE_SNMP_STAT(type, name) \ + extern __typeof__(type) __percpu *name + ++#ifdef CONFIG_PROC_STRIPPED ++#define SNMP_INC_STATS_BH(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS_USER(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS_ATOMIC_LONG(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_DEC_STATS(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS_BH(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS_USER(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_UPD_PO_STATS(mib, basefield, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_UPD_PO_STATS_BH(mib, basefield, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++ ++#else ++ + #define SNMP_INC_STATS_BH(mib, field) \ + __this_cpu_inc(mib->mibs[field]) + +@@ -159,8 +183,9 @@ struct linux_xfrm_mib { + __this_cpu_add(ptr[basefield##OCTETS], addend); \ + } while (0) + ++#endif + +-#if BITS_PER_LONG==32 ++#if (BITS_PER_LONG==32) && !defined(CONFIG_PROC_STRIPPED) + + #define SNMP_ADD_STATS64_BH(mib, field, addend) \ + do { \ diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch index 6568836b2c..0740e9693b 100644 --- a/target/linux/generic/patches-4.4/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch @@ -339,3 +339,47 @@ remove_proc_entry("dev", net->proc_net); } +--- a/include/net/snmp.h ++++ b/include/net/snmp.h +@@ -123,6 +123,30 @@ struct linux_xfrm_mib { + #define DECLARE_SNMP_STAT(type, name) \ + extern __typeof__(type) __percpu *name + ++#ifdef CONFIG_PROC_STRIPPED ++#define SNMP_INC_STATS_BH(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS_USER(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS_ATOMIC_LONG(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_INC_STATS(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_DEC_STATS(mib, field) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS_BH(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS_USER(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_ADD_STATS(mib, field, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_UPD_PO_STATS(mib, basefield, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++#define SNMP_UPD_PO_STATS_BH(mib, basefield, addend) \ ++ do { (void) mib->mibs[0]; } while(0) ++ ++#else ++ + #define SNMP_INC_STATS_BH(mib, field) \ + __this_cpu_inc(mib->mibs[field]) + +@@ -159,8 +183,9 @@ struct linux_xfrm_mib { + __this_cpu_add(ptr[basefield##OCTETS], addend); \ + } while (0) + ++#endif + +-#if BITS_PER_LONG==32 ++#if (BITS_PER_LONG==32) && !defined(CONFIG_PROC_STRIPPED) + + #define SNMP_ADD_STATS64_BH(mib, field, addend) \ + do { \ |