From: Linus Torvalds Date: Wed, 7 Jan 2009 01:10:04 +0000 (-0800) Subject: Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel... X-Git-Tag: v2.6.29-rc1~226 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=f94181da7192f4ed8ccb1b633ea4ce56954df130;p=linux-2.6-omap-h63xx.git Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: fix rcutorture bug rcu: eliminate synchronize_rcu_xxx macro rcu: make treercu safe for suspend and resume rcu: fix rcutree grace-period-latency bug on small systems futex: catch certain assymetric (get|put)_futex_key calls futex: make futex_(get|put)_key() calls symmetric locking, percpu counters: introduce separate lock classes swiotlb: clean up EXPORT_SYMBOL usage swiotlb: remove unnecessary declaration swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h swiotlb: add support for systems with highmem swiotlb: store phys address in io_tlb_orig_addr array swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus() --- f94181da7192f4ed8ccb1b633ea4ce56954df130 diff --cc include/linux/percpu_counter.h index 99de7a31bab,96bdde36599..a7684a51399 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h @@@ -24,10 -24,22 +24,18 @@@ struct percpu_counter s32 *counters; }; -#if NR_CPUS >= 16 -#define FBC_BATCH (NR_CPUS*2) -#else -#define FBC_BATCH (NR_CPUS*4) -#endif +extern int percpu_counter_batch; - int percpu_counter_init(struct percpu_counter *fbc, s64 amount); - int percpu_counter_init_irq(struct percpu_counter *fbc, s64 amount); + int __percpu_counter_init(struct percpu_counter *fbc, s64 amount, + struct lock_class_key *key); + + #define percpu_counter_init(fbc, value) \ + ({ \ + static struct lock_class_key __key; \ + \ + __percpu_counter_init(fbc, value, &__key); \ + }) + void percpu_counter_destroy(struct percpu_counter *fbc); void percpu_counter_set(struct percpu_counter *fbc, s64 amount); void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch);