diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h index 40df86f7a3b4..e8fa2da13ba6 100644 --- a/include/linux/percpu_counter.h +++ b/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_destroy(struct percpu_counter *fbc) 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 --git a/lib/percpu_counter.c b/lib/percpu_counter.c index f736d67c64d7..f7ac68c4c375 100644 --- a/lib/percpu_counter.c +++ b/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();