diff options
Diffstat (limited to 'arch/x86/include/asm/preempt.h')
| -rw-r--r-- | arch/x86/include/asm/preempt.h | 16 | 
1 files changed, 6 insertions, 10 deletions
| diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h index ec1f3c651150..7f2dbd91fc74 100644 --- a/arch/x86/include/asm/preempt.h +++ b/arch/x86/include/asm/preempt.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __ASM_PREEMPT_H  #define __ASM_PREEMPT_H @@ -100,19 +101,14 @@ static __always_inline bool should_resched(int preempt_offset)  #ifdef CONFIG_PREEMPT    extern asmlinkage void ___preempt_schedule(void); -# define __preempt_schedule()					\ -({								\ -	register void *__sp asm(_ASM_SP);			\ -	asm volatile ("call ___preempt_schedule" : "+r"(__sp));	\ -}) +# define __preempt_schedule() \ +	asm volatile ("call ___preempt_schedule" : ASM_CALL_CONSTRAINT)    extern asmlinkage void preempt_schedule(void);    extern asmlinkage void ___preempt_schedule_notrace(void); -# define __preempt_schedule_notrace()					\ -({									\ -	register void *__sp asm(_ASM_SP);				\ -	asm volatile ("call ___preempt_schedule_notrace" : "+r"(__sp));	\ -}) +# define __preempt_schedule_notrace() \ +	asm volatile ("call ___preempt_schedule_notrace" : ASM_CALL_CONSTRAINT) +    extern asmlinkage void preempt_schedule_notrace(void);  #endif |