aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-03 15:57:53 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-03 15:57:53 -0400
commit776edb59317ada867dfcddde40b55648beeb0078 (patch)
treef6a6136374642323cfefd7d6399ea429f9018ade /arch/mn10300
parent59a3d4c3631e553357b7305dc09db1990aa6757c (diff)
parent3cf2f34e1a3d4d5ff209d087925cf950e52f4805 (diff)
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull core locking updates from Ingo Molnar: "The main changes in this cycle were: - reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures - add rwsem implementation comments - bump up lockdep limits" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits) rwsem: Add comments to explain the meaning of the rwsem's count field lockdep: Increase static allocations arch: Mass conversion of smp_mb__*() arch,doc: Convert smp_mb__*() arch,xtensa: Convert smp_mb__*() arch,x86: Convert smp_mb__*() arch,tile: Convert smp_mb__*() arch,sparc: Convert smp_mb__*() arch,sh: Convert smp_mb__*() arch,score: Convert smp_mb__*() arch,s390: Convert smp_mb__*() arch,powerpc: Convert smp_mb__*() arch,parisc: Convert smp_mb__*() arch,openrisc: Convert smp_mb__*() arch,mn10300: Convert smp_mb__*() arch,mips: Convert smp_mb__*() arch,metag: Convert smp_mb__*() arch,m68k: Convert smp_mb__*() arch,m32r: Convert smp_mb__*() arch,ia64: Convert smp_mb__*() ...
Diffstat (limited to 'arch/mn10300')
-rw-r--r--arch/mn10300/include/asm/atomic.h7
-rw-r--r--arch/mn10300/include/asm/bitops.h4
-rw-r--r--arch/mn10300/mm/tlb-smp.c4
3 files changed, 4 insertions, 11 deletions
diff --git a/arch/mn10300/include/asm/atomic.h b/arch/mn10300/include/asm/atomic.h
index 975e1841ca64..cadeb1e2cdfc 100644
--- a/arch/mn10300/include/asm/atomic.h
+++ b/arch/mn10300/include/asm/atomic.h
@@ -13,6 +13,7 @@
13 13
14#include <asm/irqflags.h> 14#include <asm/irqflags.h>
15#include <asm/cmpxchg.h> 15#include <asm/cmpxchg.h>
16#include <asm/barrier.h>
16 17
17#ifndef CONFIG_SMP 18#ifndef CONFIG_SMP
18#include <asm-generic/atomic.h> 19#include <asm-generic/atomic.h>
@@ -234,12 +235,6 @@ static inline void atomic_set_mask(unsigned long mask, unsigned long *addr)
234#endif 235#endif
235} 236}
236 237
237/* Atomic operations are already serializing on MN10300??? */
238#define smp_mb__before_atomic_dec() barrier()
239#define smp_mb__after_atomic_dec() barrier()
240#define smp_mb__before_atomic_inc() barrier()
241#define smp_mb__after_atomic_inc() barrier()
242
243#endif /* __KERNEL__ */ 238#endif /* __KERNEL__ */
244#endif /* CONFIG_SMP */ 239#endif /* CONFIG_SMP */
245#endif /* _ASM_ATOMIC_H */ 240#endif /* _ASM_ATOMIC_H */
diff --git a/arch/mn10300/include/asm/bitops.h b/arch/mn10300/include/asm/bitops.h
index 596bb2706d81..fe6f8e2c3617 100644
--- a/arch/mn10300/include/asm/bitops.h
+++ b/arch/mn10300/include/asm/bitops.h
@@ -18,9 +18,7 @@
18#define __ASM_BITOPS_H 18#define __ASM_BITOPS_H
19 19
20#include <asm/cpu-regs.h> 20#include <asm/cpu-regs.h>
21 21#include <asm/barrier.h>
22#define smp_mb__before_clear_bit() barrier()
23#define smp_mb__after_clear_bit() barrier()
24 22
25/* 23/*
26 * set bit 24 * set bit
diff --git a/arch/mn10300/mm/tlb-smp.c b/arch/mn10300/mm/tlb-smp.c
index 3e57faf04083..e5d0ef722bfa 100644
--- a/arch/mn10300/mm/tlb-smp.c
+++ b/arch/mn10300/mm/tlb-smp.c
@@ -78,9 +78,9 @@ void smp_flush_tlb(void *unused)
78 else 78 else
79 local_flush_tlb_page(flush_mm, flush_va); 79 local_flush_tlb_page(flush_mm, flush_va);
80 80
81 smp_mb__before_clear_bit(); 81 smp_mb__before_atomic();
82 cpumask_clear_cpu(cpu_id, &flush_cpumask); 82 cpumask_clear_cpu(cpu_id, &flush_cpumask);
83 smp_mb__after_clear_bit(); 83 smp_mb__after_atomic();
84out: 84out:
85 put_cpu(); 85 put_cpu();
86} 86}