On 4/4/23 03:27, Xin Li wrote: > --- a/arch/x86/entry/entry_64.S > +++ b/arch/x86/entry/entry_64.S > @@ -299,7 +299,12 @@ SYM_CODE_START_NOALIGN(ret_from_fork) > UNWIND_HINT_REGS > movq %rsp, %rdi > call syscall_exit_to_user_mode /* returns with IRQs disabled */ > +#ifdef CONFIG_X86_FRED > + ALTERNATIVE "jmp swapgs_restore_regs_and_return_to_usermode", \ > + "jmp fred_exit_user", X86_FEATURE_FRED > +#else > jmp swapgs_restore_regs_and_return_to_usermode > +#endif Does the #ifdef really buy us anything here? I guess it might save a *TINY* amount of time at alternative processing time. But that doesn't really seem worth it.