Messages in this thread Patch in this message | | | Date | Fri, 05 Jun 2009 15:18:23 -0400 | From | cl@linux-fo ... | Subject | [this_cpu_xx 04/11] Use this_cpu ops for network statistics |
| |
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
--- include/net/neighbour.h | 7 +------ include/net/netfilter/nf_conntrack.h | 9 ++------- 2 files changed, 3 insertions(+), 13 deletions(-)
Index: linux-2.6/include/net/neighbour.h =================================================================== --- linux-2.6.orig/include/net/neighbour.h 2009-06-03 16:23:29.000000000 -0500 +++ linux-2.6/include/net/neighbour.h 2009-06-03 16:36:23.000000000 -0500 @@ -89,12 +89,7 @@ struct neigh_statistics unsigned long unres_discards; /* number of unresolved drops */ }; -#define NEIGH_CACHE_STAT_INC(tbl, field) \ - do { \ - preempt_disable(); \ - (per_cpu_ptr((tbl)->stats, smp_processor_id())->field)++; \ - preempt_enable(); \ - } while (0) +#define NEIGH_CACHE_STAT_INC(tbl, field) this_cpu_inc((tbl)->stats->field) struct neighbour { Index: linux-2.6/include/net/netfilter/nf_conntrack.h =================================================================== --- linux-2.6.orig/include/net/netfilter/nf_conntrack.h 2009-06-03 16:23:29.000000000 -0500 +++ linux-2.6/include/net/netfilter/nf_conntrack.h 2009-06-03 16:37:17.000000000 -0500 @@ -291,14 +291,9 @@ extern int nf_conntrack_set_hashsize(con extern unsigned int nf_conntrack_htable_size; extern unsigned int nf_conntrack_max; -#define NF_CT_STAT_INC(net, count) \ - (per_cpu_ptr((net)->ct.stat, raw_smp_processor_id())->count++) +#define NF_CT_STAT_INC(net, count) __this_cpu_inc((net)->ct.stat->count) #define NF_CT_STAT_INC_ATOMIC(net, count) \ -do { \ - local_bh_disable(); \ - per_cpu_ptr((net)->ct.stat, raw_smp_processor_id())->count++; \ - local_bh_enable(); \ -} while (0) + this_cpu_inc((net)->ct.stat->count) #define MODULE_ALIAS_NFCT_HELPER(helper) \ MODULE_ALIAS("nfct-helper-" helper) --
| |