diff options
Diffstat (limited to 'arch/x86/include/asm/preempt.h')
-rw-r--r-- | arch/x86/include/asm/preempt.h | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h index ec1f3c651150..4f44505dbf87 100644 --- a/arch/x86/include/asm/preempt.h +++ b/arch/x86/include/asm/preempt.h | |||
@@ -100,19 +100,14 @@ static __always_inline bool should_resched(int preempt_offset) | |||
100 | 100 | ||
101 | #ifdef CONFIG_PREEMPT | 101 | #ifdef CONFIG_PREEMPT |
102 | extern asmlinkage void ___preempt_schedule(void); | 102 | extern asmlinkage void ___preempt_schedule(void); |
103 | # define __preempt_schedule() \ | 103 | # define __preempt_schedule() \ |
104 | ({ \ | 104 | asm volatile ("call ___preempt_schedule" : ASM_CALL_CONSTRAINT) |
105 | register void *__sp asm(_ASM_SP); \ | ||
106 | asm volatile ("call ___preempt_schedule" : "+r"(__sp)); \ | ||
107 | }) | ||
108 | 105 | ||
109 | extern asmlinkage void preempt_schedule(void); | 106 | extern asmlinkage void preempt_schedule(void); |
110 | extern asmlinkage void ___preempt_schedule_notrace(void); | 107 | extern asmlinkage void ___preempt_schedule_notrace(void); |
111 | # define __preempt_schedule_notrace() \ | 108 | # define __preempt_schedule_notrace() \ |
112 | ({ \ | 109 | asm volatile ("call ___preempt_schedule_notrace" : ASM_CALL_CONSTRAINT) |
113 | register void *__sp asm(_ASM_SP); \ | 110 | |
114 | asm volatile ("call ___preempt_schedule_notrace" : "+r"(__sp)); \ | ||
115 | }) | ||
116 | extern asmlinkage void preempt_schedule_notrace(void); | 111 | extern asmlinkage void preempt_schedule_notrace(void); |
117 | #endif | 112 | #endif |
118 | 113 | ||