diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-06 20:10:04 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-06 20:10:04 -0500 |
| commit | f94181da7192f4ed8ccb1b633ea4ce56954df130 (patch) | |
| tree | 2e28785f2df447573a11fbdd611dc19eb3fcb794 /include/linux | |
| parent | 932adbed6d99cc373fc3433d701b3a594fea872c (diff) | |
| parent | fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff (diff) | |
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()
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/percpu_counter.h | 14 | ||||
| -rw-r--r-- | include/linux/rcupdate.h | 12 | ||||
| -rw-r--r-- | include/linux/swiotlb.h | 3 |
3 files changed, 12 insertions, 17 deletions
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h index 99de7a31bab..a7684a51399 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h | |||
| @@ -26,8 +26,16 @@ struct percpu_counter { | |||
| 26 | 26 | ||
| 27 | extern int percpu_counter_batch; | 27 | extern int percpu_counter_batch; |
| 28 | 28 | ||
| 29 | int percpu_counter_init(struct percpu_counter *fbc, s64 amount); | 29 | int __percpu_counter_init(struct percpu_counter *fbc, s64 amount, |
| 30 | int percpu_counter_init_irq(struct percpu_counter *fbc, s64 amount); | 30 | struct lock_class_key *key); |
| 31 | |||
| 32 | #define percpu_counter_init(fbc, value) \ | ||
| 33 | ({ \ | ||
| 34 | static struct lock_class_key __key; \ | ||
| 35 | \ | ||
| 36 | __percpu_counter_init(fbc, value, &__key); \ | ||
| 37 | }) | ||
| 38 | |||
| 31 | void percpu_counter_destroy(struct percpu_counter *fbc); | 39 | void percpu_counter_destroy(struct percpu_counter *fbc); |
| 32 | void percpu_counter_set(struct percpu_counter *fbc, s64 amount); | 40 | void percpu_counter_set(struct percpu_counter *fbc, s64 amount); |
| 33 | void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch); | 41 | void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch); |
| @@ -81,8 +89,6 @@ static inline int percpu_counter_init(struct percpu_counter *fbc, s64 amount) | |||
| 81 | return 0; | 89 | return 0; |
| 82 | } | 90 | } |
| 83 | 91 | ||
| 84 | #define percpu_counter_init_irq percpu_counter_init | ||
| 85 | |||
| 86 | static inline void percpu_counter_destroy(struct percpu_counter *fbc) | 92 | static inline void percpu_counter_destroy(struct percpu_counter *fbc) |
| 87 | { | 93 | { |
| 88 | } | 94 | } |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 1168fbcea8d..921340a7b71 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
| @@ -204,18 +204,6 @@ struct rcu_synchronize { | |||
| 204 | 204 | ||
| 205 | extern void wakeme_after_rcu(struct rcu_head *head); | 205 | extern void wakeme_after_rcu(struct rcu_head *head); |
| 206 | 206 | ||
| 207 | #define synchronize_rcu_xxx(name, func) \ | ||
| 208 | void name(void) \ | ||
| 209 | { \ | ||
| 210 | struct rcu_synchronize rcu; \ | ||
| 211 | \ | ||
| 212 | init_completion(&rcu.completion); \ | ||
| 213 | /* Will wake me after RCU finished. */ \ | ||
| 214 | func(&rcu.head, wakeme_after_rcu); \ | ||
| 215 | /* Wait for it. */ \ | ||
| 216 | wait_for_completion(&rcu.completion); \ | ||
| 217 | } | ||
| 218 | |||
| 219 | /** | 207 | /** |
| 220 | * synchronize_sched - block until all CPUs have exited any non-preemptive | 208 | * synchronize_sched - block until all CPUs have exited any non-preemptive |
| 221 | * kernel code sequences. | 209 | * kernel code sequences. |
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h index 325af1de035..dedd3c0cfe3 100644 --- a/include/linux/swiotlb.h +++ b/include/linux/swiotlb.h | |||
| @@ -27,7 +27,8 @@ swiotlb_init(void); | |||
| 27 | extern void *swiotlb_alloc_boot(size_t bytes, unsigned long nslabs); | 27 | extern void *swiotlb_alloc_boot(size_t bytes, unsigned long nslabs); |
| 28 | extern void *swiotlb_alloc(unsigned order, unsigned long nslabs); | 28 | extern void *swiotlb_alloc(unsigned order, unsigned long nslabs); |
| 29 | 29 | ||
| 30 | extern dma_addr_t swiotlb_phys_to_bus(phys_addr_t address); | 30 | extern dma_addr_t swiotlb_phys_to_bus(struct device *hwdev, |
| 31 | phys_addr_t address); | ||
| 31 | extern phys_addr_t swiotlb_bus_to_phys(dma_addr_t address); | 32 | extern phys_addr_t swiotlb_bus_to_phys(dma_addr_t address); |
| 32 | 33 | ||
| 33 | extern int swiotlb_arch_range_needs_mapping(void *ptr, size_t size); | 34 | extern int swiotlb_arch_range_needs_mapping(void *ptr, size_t size); |
