RE: [PATCH v7 23/33] x86/fred: let ret_from_fork() jmp to fred_exit_user when FRED is enabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Li, Xin3 <xin3.li@xxxxxxxxx>
> Sent: Monday, April 10, 2023 11:32 AM
> To: Hansen, Dave <dave.hansen@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
> x86@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx
> Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; bp@xxxxxxxxx;
> dave.hansen@xxxxxxxxxxxxxxx; hpa@xxxxxxxxx; peterz@xxxxxxxxxxxxx;
> andrew.cooper3@xxxxxxxxxx; Christopherson,, Sean <seanjc@xxxxxxxxxx>;
> pbonzini@xxxxxxxxxx; Shankar, Ravi V <ravi.v.shankar@xxxxxxxxx>;
> jiangshanlai@xxxxxxxxx; Kang, Shan <shan.kang@xxxxxxxxx>
> Subject: RE: [PATCH v7 23/33] x86/fred: let ret_from_fork() jmp to fred_exit_user
> when FRED is enabled
> 
> > 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.
> 
> You have kept saying not to use #ifdef if possible, and I tried to get if of them.
> 
> Somehow I ended up with overlooking this _unnecessary_ change, will remove.

Actually I didn't overlook it, the reason I keep the #ifdef is the symbol
"fred_exit_user" is missing otherwise, which is defined only if we have
CONFIG_X86_FRED.

Thanks!
  Xin





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux