From: Peter Zijlstra percpu_counter is a s64 counter, make _add consitent. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton --- include/linux/percpu_counter.h | 6 +++--- lib/percpu_counter.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff -puN include/linux/percpu_counter.h~lib-make-percpu_counter_add-take-s64 include/linux/percpu_counter.h --- a/include/linux/percpu_counter.h~lib-make-percpu_counter_add-take-s64 +++ a/include/linux/percpu_counter.h @@ -32,10 +32,10 @@ struct percpu_counter { void percpu_counter_init(struct percpu_counter *fbc, s64 amount); void percpu_counter_destroy(struct percpu_counter *fbc); -void __percpu_counter_add(struct percpu_counter *fbc, s32 amount, s32 batch); +void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch); s64 percpu_counter_sum(struct percpu_counter *fbc); -static inline void percpu_counter_add(struct percpu_counter *fbc, s32 amount) +static inline void percpu_counter_add(struct percpu_counter *fbc, s64 amount) { __percpu_counter_add(fbc, amount, FBC_BATCH); } @@ -79,7 +79,7 @@ static inline void percpu_counter_destro percpu_counter_add(fbc, amount) static inline void -percpu_counter_add(struct percpu_counter *fbc, s32 amount) +percpu_counter_add(struct percpu_counter *fbc, s64 amount) { preempt_disable(); fbc->count += amount; diff -puN lib/percpu_counter.c~lib-make-percpu_counter_add-take-s64 lib/percpu_counter.c --- a/lib/percpu_counter.c~lib-make-percpu_counter_add-take-s64 +++ a/lib/percpu_counter.c @@ -14,9 +14,9 @@ static LIST_HEAD(percpu_counters); static DEFINE_MUTEX(percpu_counters_lock); #endif -void __percpu_counter_add(struct percpu_counter *fbc, s32 amount, s32 batch) +void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch) { - long count; + s64 count; s32 *pcount; int cpu = get_cpu(); _