• Rik van Riel's avatar
    kvm,x86: load guest FPU context more eagerly · 653f52c3
    Rik van Riel authored
    Currently KVM will clear the FPU bits in CR0.TS in the VMCS, and trap to
    re-load them every time the guest accesses the FPU after a switch back into
    the guest from the host.
    
    This patch copies the x86 task switch semantics for FPU loading, with the
    FPU loaded eagerly after first use if the system uses eager fpu mode,
    or if the guest uses the FPU frequently.
    
    In the latter case, after loading the FPU for 255 times, the fpu_counter
    will roll over, and we will revert to loading the FPU on demand, until
    it has been established that the guest is still actively using the FPU.
    
    This mirrors the x86 task switch policy, which seems to work.
    Signed-off-by: default avatarRik van Riel <riel@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    653f52c3
x86.c 203 KB