]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
KVM: nSVM: Optimize vmcb12 to vmcb02 save area copies
authorCathy Avery <cavery@redhat.com>
Mon, 1 Mar 2021 20:08:44 +0000 (15:08 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 15 Mar 2021 08:43:26 +0000 (04:43 -0400)
commit8173396e94c10dccde5e890f1bb31d11c05cae68
tree3c1e7989d48999a122b9e282cd797bfc49297162
parentd00b99c514b33a3f40dbb3e730b14a283401aa8e
KVM: nSVM: Optimize vmcb12 to vmcb02 save area copies

Use the vmcb12 control clean field to determine which vmcb12.save
registers were marked dirty in order to minimize register copies
when switching from L1 to L2. Those vmcb12 registers marked as dirty need
to be copied to L0's vmcb02 as they will be used to update the vmcb
state cache for the L2 VMRUN.  In the case where we have a different
vmcb12 from the last L2 VMRUN all vmcb12.save registers must be
copied over to L2.save.

Tested:
kvm-unit-tests
kvm selftests
Fedora L1 L2

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Cathy Avery <cavery@redhat.com>
Message-Id: <20210301200844.2000-1-cavery@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/nested.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h