Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [patch 5/6] x86/fpu: Provide fpu_update_guest_xcr0/xfd() | Date | Thu, 16 Dec 2021 01:00:33 +0000 |
| |
> From: Paolo Bonzini > Sent: Wednesday, December 15, 2021 6:41 PM > > On 12/15/21 11:27, Paolo Bonzini wrote: > > On 12/15/21 11:09, Thomas Gleixner wrote: > >> Lets assume the restore order is XSTATE, XCR0, XFD: > >> > >> XSTATE has everything in init state, which means the default > >> buffer is good enough > >> > >> XCR0 has everything enabled including AMX, so the buffer is > >> expanded > >> > >> XFD has AMX disable set, which means the buffer expansion was > >> pointless > >> > >> If we go there, then we can just use a full expanded buffer for KVM > >> unconditionally and be done with it. That spares a lot of code. > > > > If we decide to use a full expanded buffer as soon as KVM_SET_CPUID2 is > > done, that would work for me. > > Off-list, Thomas mentioned doing it even at vCPU creation as long as the > prctl has been called. That is also okay and even simpler.
Make sense. It also avoids the #GP thing in the emulation path if just due to reallocation error.
We'll follow this direction to do a quick update/test.
> > There's also another important thing that hasn't been mentioned so far: > KVM_GET_SUPPORTED_CPUID should _not_ include the dynamic bits in > CPUID[0xD] if they have not been requested with prctl. It's okay to > return the AMX bit, but not the bit in CPUID[0xD]. >
will do.
Thanks Kevin
| |