[PATCH 26/39] sum_cpu_var

Peter Zijlstra
2006-07-12T14:42:05Z

Much used per_cpu op by the additional policies.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>

include/linux/percpu.h | 5 +++++
1 file changed, 5 insertions(+)

Index: linux-2.6/include/linux/percpu.h
===================================================================
--- linux-2.6.orig/include/linux/percpu.h 2006-06-12 06:51:08.000000000 +0200
+++ linux-2.6/include/linux/percpu.h 2006-07-12 16:09:19.000000000 +0200
@@ -15,6 +15,11 @@
#define get_cpu_var(var) (*({ preempt_disable(); &__get_cpu_var(var); }))
#define put_cpu_var(var) preempt_enable()

+#define __sum_cpu_var(type, var) ({ __typeof__(type) sum = 0; \
+ int cpu; \
+ for_each_cpu(cpu) sum += per_cpu(var, cpu); \
+ sum; })
+
#ifdef CONFIG_SMP

struct percpu_data {