aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTim Chen <tim.c.chen@linux.intel.com>2014-01-21 18:36:22 -0500
committerIngo Molnar <mingo@kernel.org>2014-02-09 15:18:52 -0500
commitddf1d169c0a489d498c1799a7043904a43b0c159 (patch)
tree5b2baa752d6a4209d8c0ffd9ccb3a940e7b4c888 /arch
parentb119fa61d440fe0f5af504299ad506637585a8ca (diff)
locking/mcs: Allow architecture specific asm files to be used for contended case
This patch allows each architecture to add its specific assembly optimized arch_mcs_spin_lock_contended and arch_mcs_spinlock_uncontended for MCS lock and unlock functions. Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com> Cc: Scott J Norton <scott.norton@hp.com> Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> Cc: AswinChandramouleeswaran <aswin@hp.com> Cc: George Spelvin <linux@horizon.com> Cc: Rik vanRiel <riel@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: MichelLespinasse <walken@google.com> Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Alex Shi <alex.shi@linaro.org> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: "Figo.zhang" <figo1802@gmail.com> Cc: "Paul E.McKenney" <paulmck@linux.vnet.ibm.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Davidlohr Bueso <davidlohr.bueso@hp.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Will Deacon <will.deacon@arm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matthew R Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1390347382.3138.67.camel@schen9-DESK Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/include/asm/Kbuild1
-rw-r--r--arch/arc/include/asm/Kbuild1
-rw-r--r--arch/arm/include/asm/Kbuild1
-rw-r--r--arch/arm64/include/asm/Kbuild1
-rw-r--r--arch/avr32/include/asm/Kbuild1
-rw-r--r--arch/blackfin/include/asm/Kbuild1
-rw-r--r--arch/c6x/include/asm/Kbuild1
-rw-r--r--arch/cris/include/asm/Kbuild1
-rw-r--r--arch/frv/include/asm/Kbuild1
-rw-r--r--arch/hexagon/include/asm/Kbuild1
-rw-r--r--arch/ia64/include/asm/Kbuild1
-rw-r--r--arch/m32r/include/asm/Kbuild1
-rw-r--r--arch/m68k/include/asm/Kbuild1
-rw-r--r--arch/metag/include/asm/Kbuild1
-rw-r--r--arch/microblaze/include/asm/Kbuild1
-rw-r--r--arch/mips/include/asm/Kbuild1
-rw-r--r--arch/mn10300/include/asm/Kbuild1
-rw-r--r--arch/openrisc/include/asm/Kbuild1
-rw-r--r--arch/parisc/include/asm/Kbuild1
-rw-r--r--arch/powerpc/include/asm/Kbuild1
-rw-r--r--arch/s390/include/asm/Kbuild1
-rw-r--r--arch/score/include/asm/Kbuild1
-rw-r--r--arch/sh/include/asm/Kbuild1
-rw-r--r--arch/sparc/include/asm/Kbuild1
-rw-r--r--arch/tile/include/asm/Kbuild1
-rw-r--r--arch/um/include/asm/Kbuild1
-rw-r--r--arch/unicore32/include/asm/Kbuild1
-rw-r--r--arch/x86/include/asm/Kbuild1
-rw-r--r--arch/xtensa/include/asm/Kbuild1
29 files changed, 29 insertions, 0 deletions
diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild
index 55a2b0395d48..7736f426ff3b 100644
--- a/arch/alpha/include/asm/Kbuild
+++ b/arch/alpha/include/asm/Kbuild
@@ -3,5 +3,6 @@
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += mcs_spinlock.h
6generic-y += preempt.h 7generic-y += preempt.h
7generic-y += trace_clock.h 8generic-y += trace_clock.h
diff --git a/arch/arc/include/asm/Kbuild b/arch/arc/include/asm/Kbuild
index 54ceb91c7ce0..e76fd79f32b0 100644
--- a/arch/arc/include/asm/Kbuild
+++ b/arch/arc/include/asm/Kbuild
@@ -22,6 +22,7 @@ generic-y += kmap_types.h
22generic-y += kvm_para.h 22generic-y += kvm_para.h
23generic-y += local.h 23generic-y += local.h
24generic-y += local64.h 24generic-y += local64.h
25generic-y += mcs_spinlock.h
25generic-y += mman.h 26generic-y += mman.h
26generic-y += msgbuf.h 27generic-y += msgbuf.h
27generic-y += param.h 28generic-y += param.h
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 3b2092049b51..23e728ecf8ab 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -14,6 +14,7 @@ generic-y += irq_regs.h
14generic-y += kdebug.h 14generic-y += kdebug.h
15generic-y += local.h 15generic-y += local.h
16generic-y += local64.h 16generic-y += local64.h
17generic-y += mcs_spinlock.h
17generic-y += msgbuf.h 18generic-y += msgbuf.h
18generic-y += param.h 19generic-y += param.h
19generic-y += parport.h 20generic-y += parport.h
diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
index 54038befa0a4..3bdfdda70567 100644
--- a/arch/arm64/include/asm/Kbuild
+++ b/arch/arm64/include/asm/Kbuild
@@ -23,6 +23,7 @@ generic-y += kmap_types.h
23generic-y += kvm_para.h 23generic-y += kvm_para.h
24generic-y += local.h 24generic-y += local.h
25generic-y += local64.h 25generic-y += local64.h
26generic-y += mcs_spinlock.h
26generic-y += mman.h 27generic-y += mman.h
27generic-y += msgbuf.h 28generic-y += msgbuf.h
28generic-y += mutex.h 29generic-y += mutex.h
diff --git a/arch/avr32/include/asm/Kbuild b/arch/avr32/include/asm/Kbuild
index 064ca3c058ff..8b398ff96974 100644
--- a/arch/avr32/include/asm/Kbuild
+++ b/arch/avr32/include/asm/Kbuild
@@ -11,6 +11,7 @@ generic-y += hash.h
11generic-y += irq_regs.h 11generic-y += irq_regs.h
12generic-y += local.h 12generic-y += local.h
13generic-y += local64.h 13generic-y += local64.h
14generic-y += mcs_spinlock.h
14generic-y += param.h 15generic-y += param.h
15generic-y += percpu.h 16generic-y += percpu.h
16generic-y += preempt.h 17generic-y += preempt.h
diff --git a/arch/blackfin/include/asm/Kbuild b/arch/blackfin/include/asm/Kbuild
index ca30a3dc47e7..0d93b9a79ca9 100644
--- a/arch/blackfin/include/asm/Kbuild
+++ b/arch/blackfin/include/asm/Kbuild
@@ -20,6 +20,7 @@ generic-y += kmap_types.h
20generic-y += kvm_para.h 20generic-y += kvm_para.h
21generic-y += local.h 21generic-y += local.h
22generic-y += local64.h 22generic-y += local64.h
23generic-y += mcs_spinlock.h
23generic-y += mman.h 24generic-y += mman.h
24generic-y += msgbuf.h 25generic-y += msgbuf.h
25generic-y += mutex.h 26generic-y += mutex.h
diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild
index dea0671524a1..8dbdce8421b0 100644
--- a/arch/c6x/include/asm/Kbuild
+++ b/arch/c6x/include/asm/Kbuild
@@ -25,6 +25,7 @@ generic-y += irq_regs.h
25generic-y += kdebug.h 25generic-y += kdebug.h
26generic-y += kmap_types.h 26generic-y += kmap_types.h
27generic-y += local.h 27generic-y += local.h
28generic-y += mcs_spinlock.h
28generic-y += mman.h 29generic-y += mman.h
29generic-y += mmu.h 30generic-y += mmu.h
30generic-y += mmu_context.h 31generic-y += mmu_context.h
diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild
index 7f8d1b174a34..056027f38351 100644
--- a/arch/cris/include/asm/Kbuild
+++ b/arch/cris/include/asm/Kbuild
@@ -9,6 +9,7 @@ generic-y += exec.h
9generic-y += hash.h 9generic-y += hash.h
10generic-y += kvm_para.h 10generic-y += kvm_para.h
11generic-y += linkage.h 11generic-y += linkage.h
12generic-y += mcs_spinlock.h
12generic-y += module.h 13generic-y += module.h
13generic-y += preempt.h 14generic-y += preempt.h
14generic-y += trace_clock.h 15generic-y += trace_clock.h
diff --git a/arch/frv/include/asm/Kbuild b/arch/frv/include/asm/Kbuild
index 93428d035cfb..babb9338ebf8 100644
--- a/arch/frv/include/asm/Kbuild
+++ b/arch/frv/include/asm/Kbuild
@@ -2,5 +2,6 @@
2generic-y += clkdev.h 2generic-y += clkdev.h
3generic-y += exec.h 3generic-y += exec.h
4generic-y += hash.h 4generic-y += hash.h
5generic-y += mcs_spinlock.h
5generic-y += preempt.h 6generic-y += preempt.h
6generic-y += trace_clock.h 7generic-y += trace_clock.h
diff --git a/arch/hexagon/include/asm/Kbuild b/arch/hexagon/include/asm/Kbuild
index 9f0eda48643a..eadcc118f950 100644
--- a/arch/hexagon/include/asm/Kbuild
+++ b/arch/hexagon/include/asm/Kbuild
@@ -27,6 +27,7 @@ generic-y += kdebug.h
27generic-y += kmap_types.h 27generic-y += kmap_types.h
28generic-y += local.h 28generic-y += local.h
29generic-y += local64.h 29generic-y += local64.h
30generic-y += mcs_spinlock.h
30generic-y += mman.h 31generic-y += mman.h
31generic-y += msgbuf.h 32generic-y += msgbuf.h
32generic-y += pci.h 33generic-y += pci.h
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild
index 81ebef7f1a87..0da4aa2602ae 100644
--- a/arch/ia64/include/asm/Kbuild
+++ b/arch/ia64/include/asm/Kbuild
@@ -3,6 +3,7 @@ generic-y += clkdev.h
3generic-y += exec.h 3generic-y += exec.h
4generic-y += hash.h 4generic-y += hash.h
5generic-y += kvm_para.h 5generic-y += kvm_para.h
6generic-y += mcs_spinlock.h
6generic-y += preempt.h 7generic-y += preempt.h
7generic-y += trace_clock.h 8generic-y += trace_clock.h
8generic-y += vtime.h 9generic-y += vtime.h
diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild
index 87042215b543..5825a35b2c56 100644
--- a/arch/m32r/include/asm/Kbuild
+++ b/arch/m32r/include/asm/Kbuild
@@ -2,6 +2,7 @@
2generic-y += clkdev.h 2generic-y += clkdev.h
3generic-y += exec.h 3generic-y += exec.h
4generic-y += hash.h 4generic-y += hash.h
5generic-y += mcs_spinlock.h
5generic-y += module.h 6generic-y += module.h
6generic-y += preempt.h 7generic-y += preempt.h
7generic-y += trace_clock.h 8generic-y += trace_clock.h
diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild
index f44ac8f9536a..86b4c178cc75 100644
--- a/arch/m68k/include/asm/Kbuild
+++ b/arch/m68k/include/asm/Kbuild
@@ -16,6 +16,7 @@ generic-y += kmap_types.h
16generic-y += kvm_para.h 16generic-y += kvm_para.h
17generic-y += local.h 17generic-y += local.h
18generic-y += local64.h 18generic-y += local64.h
19generic-y += mcs_spinlock.h
19generic-y += mman.h 20generic-y += mman.h
20generic-y += mutex.h 21generic-y += mutex.h
21generic-y += percpu.h 22generic-y += percpu.h
diff --git a/arch/metag/include/asm/Kbuild b/arch/metag/include/asm/Kbuild
index ac22144e92a3..c29ead89a317 100644
--- a/arch/metag/include/asm/Kbuild
+++ b/arch/metag/include/asm/Kbuild
@@ -24,6 +24,7 @@ generic-y += kmap_types.h
24generic-y += kvm_para.h 24generic-y += kvm_para.h
25generic-y += local.h 25generic-y += local.h
26generic-y += local64.h 26generic-y += local64.h
27generic-y += mcs_spinlock.h
27generic-y += msgbuf.h 28generic-y += msgbuf.h
28generic-y += mutex.h 29generic-y += mutex.h
29generic-y += param.h 30generic-y += param.h
diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild
index 4b5f12259d81..1f590ab8f323 100644
--- a/arch/microblaze/include/asm/Kbuild
+++ b/arch/microblaze/include/asm/Kbuild
@@ -3,6 +3,7 @@ generic-y += barrier.h
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += mcs_spinlock.h
6generic-y += preempt.h 7generic-y += preempt.h
7generic-y += syscalls.h 8generic-y += syscalls.h
8generic-y += trace_clock.h 9generic-y += trace_clock.h
diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild
index 82ee17a68ae0..05439187891d 100644
--- a/arch/mips/include/asm/Kbuild
+++ b/arch/mips/include/asm/Kbuild
@@ -4,6 +4,7 @@ generic-y += current.h
4generic-y += emergency-restart.h 4generic-y += emergency-restart.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += local64.h 6generic-y += local64.h
7generic-y += mcs_spinlock.h
7generic-y += mutex.h 8generic-y += mutex.h
8generic-y += parport.h 9generic-y += parport.h
9generic-y += percpu.h 10generic-y += percpu.h
diff --git a/arch/mn10300/include/asm/Kbuild b/arch/mn10300/include/asm/Kbuild
index da3b2f50c07e..cbc6b9bf45da 100644
--- a/arch/mn10300/include/asm/Kbuild
+++ b/arch/mn10300/include/asm/Kbuild
@@ -3,5 +3,6 @@ generic-y += barrier.h
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += exec.h 4generic-y += exec.h
5generic-y += hash.h 5generic-y += hash.h
6generic-y += mcs_spinlock.h
6generic-y += preempt.h 7generic-y += preempt.h
7generic-y += trace_clock.h 8generic-y += trace_clock.h
diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild
index f62a67a15055..480af0d9c2f5 100644
--- a/arch/openrisc/include/asm/Kbuild
+++ b/arch/openrisc/include/asm/Kbuild
@@ -35,6 +35,7 @@ generic-y += kdebug.h
35generic-y += kmap_types.h 35generic-y += kmap_types.h
36generic-y += kvm_para.h 36generic-y += kvm_para.h
37generic-y += local.h 37generic-y += local.h
38generic-y += mcs_spinlock.h
38generic-y += mman.h 39generic-y += mman.h
39generic-y += module.h 40generic-y += module.h
40generic-y += msgbuf.h 41generic-y += msgbuf.h
diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild
index 958b79aac24f..ecf25e6678ad 100644
--- a/arch/parisc/include/asm/Kbuild
+++ b/arch/parisc/include/asm/Kbuild
@@ -14,6 +14,7 @@ generic-y += kdebug.h
14generic-y += kvm_para.h 14generic-y += kvm_para.h
15generic-y += local.h 15generic-y += local.h
16generic-y += local64.h 16generic-y += local64.h
17generic-y += mcs_spinlock.h
17generic-y += mutex.h 18generic-y += mutex.h
18generic-y += param.h 19generic-y += param.h
19generic-y += percpu.h 20generic-y += percpu.h
diff --git a/arch/powerpc/include/asm/Kbuild b/arch/powerpc/include/asm/Kbuild
index b618c416d3d9..3fb1bc432f4f 100644
--- a/arch/powerpc/include/asm/Kbuild
+++ b/arch/powerpc/include/asm/Kbuild
@@ -1,6 +1,7 @@
1 1
2generic-y += clkdev.h 2generic-y += clkdev.h
3generic-y += hash.h 3generic-y += hash.h
4generic-y += mcs_spinlock.h
4generic-y += preempt.h 5generic-y += preempt.h
5generic-y += rwsem.h 6generic-y += rwsem.h
6generic-y += trace_clock.h 7generic-y += trace_clock.h
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild
index 482f492f0834..57892a8a9055 100644
--- a/arch/s390/include/asm/Kbuild
+++ b/arch/s390/include/asm/Kbuild
@@ -2,5 +2,6 @@
2 2
3generic-y += clkdev.h 3generic-y += clkdev.h
4generic-y += hash.h 4generic-y += hash.h
5generic-y += mcs_spinlock.h
5generic-y += preempt.h 6generic-y += preempt.h
6generic-y += trace_clock.h 7generic-y += trace_clock.h
diff --git a/arch/score/include/asm/Kbuild b/arch/score/include/asm/Kbuild
index e92319fb146d..4630cf217b5b 100644
--- a/arch/score/include/asm/Kbuild
+++ b/arch/score/include/asm/Kbuild
@@ -5,6 +5,7 @@ header-y +=
5generic-y += barrier.h 5generic-y += barrier.h
6generic-y += clkdev.h 6generic-y += clkdev.h
7generic-y += hash.h 7generic-y += hash.h
8generic-y += mcs_spinlock.h
8generic-y += preempt.h 9generic-y += preempt.h
9generic-y += trace_clock.h 10generic-y += trace_clock.h
10generic-y += xor.h 11generic-y += xor.h
diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild
index 85c214e456f9..c19e47dacb31 100644
--- a/arch/sh/include/asm/Kbuild
+++ b/arch/sh/include/asm/Kbuild
@@ -15,6 +15,7 @@ generic-y += irq_regs.h
15generic-y += kvm_para.h 15generic-y += kvm_para.h
16generic-y += local.h 16generic-y += local.h
17generic-y += local64.h 17generic-y += local64.h
18generic-y += mcs_spinlock.h
18generic-y += mman.h 19generic-y += mman.h
19generic-y += msgbuf.h 20generic-y += msgbuf.h
20generic-y += param.h 21generic-y += param.h
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index 82150287bfa4..a45821818003 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -11,6 +11,7 @@ generic-y += irq_regs.h
11generic-y += linkage.h 11generic-y += linkage.h
12generic-y += local.h 12generic-y += local.h
13generic-y += local64.h 13generic-y += local64.h
14generic-y += mcs_spinlock.h
14generic-y += module.h 15generic-y += module.h
15generic-y += mutex.h 16generic-y += mutex.h
16generic-y += preempt.h 17generic-y += preempt.h
diff --git a/arch/tile/include/asm/Kbuild b/arch/tile/include/asm/Kbuild
index e0b1ed967737..0aa5675e7025 100644
--- a/arch/tile/include/asm/Kbuild
+++ b/arch/tile/include/asm/Kbuild
@@ -19,6 +19,7 @@ generic-y += ipcbuf.h
19generic-y += irq_regs.h 19generic-y += irq_regs.h
20generic-y += local.h 20generic-y += local.h
21generic-y += local64.h 21generic-y += local64.h
22generic-y += mcs_spinlock.h
22generic-y += msgbuf.h 23generic-y += msgbuf.h
23generic-y += mutex.h 24generic-y += mutex.h
24generic-y += param.h 25generic-y += param.h
diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/asm/Kbuild
index 215e05d8d4b8..a5e4b6068213 100644
--- a/arch/um/include/asm/Kbuild
+++ b/arch/um/include/asm/Kbuild
@@ -15,6 +15,7 @@ generic-y += hw_irq.h
15generic-y += io.h 15generic-y += io.h
16generic-y += irq_regs.h 16generic-y += irq_regs.h
17generic-y += kdebug.h 17generic-y += kdebug.h
18generic-y += mcs_spinlock.h
18generic-y += mutex.h 19generic-y += mutex.h
19generic-y += param.h 20generic-y += param.h
20generic-y += pci.h 21generic-y += pci.h
diff --git a/arch/unicore32/include/asm/Kbuild b/arch/unicore32/include/asm/Kbuild
index ad2c737a9cab..1e5fb872a4aa 100644
--- a/arch/unicore32/include/asm/Kbuild
+++ b/arch/unicore32/include/asm/Kbuild
@@ -25,6 +25,7 @@ generic-y += irq_regs.h
25generic-y += kdebug.h 25generic-y += kdebug.h
26generic-y += kmap_types.h 26generic-y += kmap_types.h
27generic-y += local.h 27generic-y += local.h
28generic-y += mcs_spinlock.h
28generic-y += mman.h 29generic-y += mman.h
29generic-y += module.h 30generic-y += module.h
30generic-y += msgbuf.h 31generic-y += msgbuf.h
diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild
index 7f669853317a..a8fee078b92f 100644
--- a/arch/x86/include/asm/Kbuild
+++ b/arch/x86/include/asm/Kbuild
@@ -5,3 +5,4 @@ genhdr-y += unistd_64.h
5genhdr-y += unistd_x32.h 5genhdr-y += unistd_x32.h
6 6
7generic-y += clkdev.h 7generic-y += clkdev.h
8generic-y += mcs_spinlock.h
diff --git a/arch/xtensa/include/asm/Kbuild b/arch/xtensa/include/asm/Kbuild
index 223280d8e611..c3d20ba6eb86 100644
--- a/arch/xtensa/include/asm/Kbuild
+++ b/arch/xtensa/include/asm/Kbuild
@@ -18,6 +18,7 @@ generic-y += kvm_para.h
18generic-y += linkage.h 18generic-y += linkage.h
19generic-y += local.h 19generic-y += local.h
20generic-y += local64.h 20generic-y += local64.h
21generic-y += mcs_spinlock.h
21generic-y += percpu.h 22generic-y += percpu.h
22generic-y += preempt.h 23generic-y += preempt.h
23generic-y += resource.h 24generic-y += resource.h