summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-10-28 07:00:41 +0100
committerDavid S. Miller <davem@davemloft.net>2012-10-28 07:00:41 +0100
commite9b9eb59ffcdee09ec96b040f85c919618f4043e (patch)
tree30f93cc20aa577ec5b12f609641fdf84d0bd5124 /arch/sparc/kernel/vmlinux.lds.S
parentsparc64: Fix cpu strand yielding. (diff)
downloadlinux-e9b9eb59ffcdee09ec96b040f85c919618f4043e.tar.xz
linux-e9b9eb59ffcdee09ec96b040f85c919618f4043e.zip
sparc64: Use pause instruction when available.
In atomic backoff and cpu_relax(), use the pause instruction found on SPARC-T4 and later. It makes the cpu strand unselectable for the given number of cycles, unless an intervening disrupting trap occurs. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/vmlinux.lds.S')
-rw-r--r--arch/sparc/kernel/vmlinux.lds.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
index 89c2c29f154b..847f9f793618 100644
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -132,6 +132,11 @@ SECTIONS
*(.popc_6insn_patch)
__popc_6insn_patch_end = .;
}
+ .pause_patch : {
+ __pause_patch = .;
+ *(.pause_patch)
+ __pause_patch_end = .;
+ }
PERCPU_SECTION(SMP_CACHE_BYTES)
. = ALIGN(PAGE_SIZE);