[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 00/12] x86/msr: Inline rdmsr/wrmsr instructions
On 2025-09-30 00:03, Juergen Gross wrote: > When building a kernel with CONFIG_PARAVIRT_XXL the paravirt > infrastructure will always use functions for reading or writing MSRs, > even when running on bare metal. > > Switch to inline RDMSR/WRMSR instructions in this case, reducing the > paravirt overhead. > > In order to make this less intrusive, some further reorganization of > the MSR access helpers is done in the first 5 patches. > > The next 5 patches are converting the non-paravirt case to use direct > inlining of the MSR access instructions, including the WRMSRNS > instruction and the immediate variants of RDMSR and WRMSR if possible. > > Patch 11 removes the PV hooks for MSR accesses and implements the > Xen PV cases via calls depending on X86_FEATURE_XENPV, which results > in runtime patching those calls away for the non-XenPV case. > > Patch 12 is a final little cleanup patch. > > This series has been tested to work with Xen PV and on bare metal. > > This series is inspired by Xin Li, who used a similar approach, but > (in my opinion) with some flaws. Originally I thought it should be > possible to use the paravirt infrastructure, but this turned out to be > rather complicated, especially for the Xen PV case in the *_safe() > variants of the MSR access functions. > Looks good to me. (I'm not at all surprised that paravirt_ops didn't do the job. Both I and Xin had come to the same conclusion.) Reviewed-by: H. Peter Anvin (Intel) <hpa@xxxxxxxxx>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |