diff options
-rw-r--r-- | arch/s390/include/asm/processor.h | 5 | ||||
-rw-r--r-- | arch/s390/kernel/processor.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index bed05ea7ec27..e7cbbdcdee13 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
@@ -215,10 +215,7 @@ static inline unsigned short stap(void) | |||
215 | /* | 215 | /* |
216 | * Give up the time slice of the virtual PU. | 216 | * Give up the time slice of the virtual PU. |
217 | */ | 217 | */ |
218 | static inline void cpu_relax(void) | 218 | void cpu_relax(void); |
219 | { | ||
220 | barrier(); | ||
221 | } | ||
222 | 219 | ||
223 | #define cpu_relax_lowlatency() barrier() | 220 | #define cpu_relax_lowlatency() barrier() |
224 | 221 | ||
diff --git a/arch/s390/kernel/processor.c b/arch/s390/kernel/processor.c index dbdd33ee0102..26108232fcaa 100644 --- a/arch/s390/kernel/processor.c +++ b/arch/s390/kernel/processor.c | |||
@@ -8,16 +8,24 @@ | |||
8 | 8 | ||
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/smp.h> | ||
12 | #include <linux/seq_file.h> | 11 | #include <linux/seq_file.h> |
13 | #include <linux/delay.h> | 12 | #include <linux/delay.h> |
14 | #include <linux/cpu.h> | 13 | #include <linux/cpu.h> |
15 | #include <asm/elf.h> | 14 | #include <asm/elf.h> |
16 | #include <asm/lowcore.h> | 15 | #include <asm/lowcore.h> |
17 | #include <asm/param.h> | 16 | #include <asm/param.h> |
17 | #include <asm/smp.h> | ||
18 | 18 | ||
19 | static DEFINE_PER_CPU(struct cpuid, cpu_id); | 19 | static DEFINE_PER_CPU(struct cpuid, cpu_id); |
20 | 20 | ||
21 | void cpu_relax(void) | ||
22 | { | ||
23 | if (!smp_cpu_mtid && MACHINE_HAS_DIAG44) | ||
24 | asm volatile("diag 0,0,0x44"); | ||
25 | barrier(); | ||
26 | } | ||
27 | EXPORT_SYMBOL(cpu_relax); | ||
28 | |||
21 | /* | 29 | /* |
22 | * cpu_init - initializes state that is per-CPU. | 30 | * cpu_init - initializes state that is per-CPU. |
23 | */ | 31 | */ |