diff options
author | Avi Kivity <avi@redhat.com> | 2009-12-30 12:40:26 +0200 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-03-01 12:35:50 -0300 |
commit | 02daab21d94dc4cf01b2fd09863d59a436900322 (patch) | |
tree | e7caff282dd9019e1b19cd549609c6b991f29152 /arch/x86/include | |
parent | e8467fda83cdc9de53972fee0cd2e6916cf66f41 (diff) | |
download | kernel_samsung_smdk4412-02daab21d94dc4cf01b2fd09863d59a436900322.zip kernel_samsung_smdk4412-02daab21d94dc4cf01b2fd09863d59a436900322.tar.gz kernel_samsung_smdk4412-02daab21d94dc4cf01b2fd09863d59a436900322.tar.bz2 |
KVM: Lazify fpu activation and deactivation
Defer fpu deactivation as much as possible - if the guest fpu is loaded, keep
it loaded until the next heavyweight exit (where we are forced to unload it).
This reduces unnecessary exits.
We also defer fpu activation on clts; while clts signals the intent to use the
fpu, we can't be sure the guest will actually use it.
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 693046a..93bee7a 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -506,6 +506,7 @@ struct kvm_x86_ops { void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg); unsigned long (*get_rflags)(struct kvm_vcpu *vcpu); void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags); + void (*fpu_deactivate)(struct kvm_vcpu *vcpu); void (*tlb_flush)(struct kvm_vcpu *vcpu); |