]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: only allocate gfn_track when necessary
authorDavid Stevens <stevensd@chromium.org>
Wed, 22 Sep 2021 04:58:59 +0000 (13:58 +0900)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 1 Oct 2021 07:44:58 +0000 (03:44 -0400)
commit5ac51a89d4c7bb13b9b9d4d52821a3eb1ec27e21
tree1a02e48834bd4dcebf1f06d4828a4fadada9ebb8
parent726b2c2ca898645ad8186382f406a69accc7a25b
KVM: x86: only allocate gfn_track when necessary

Avoid allocating the gfn_track arrays if nothing needs them. If there
are no external to KVM users of the API (i.e. no GVT-g), then page
tracking is only needed for shadow page tables. This means that when tdp
is enabled and there are no external users, then the gfn_track arrays
can be lazily allocated when the shadow MMU is actually used. This avoid
allocations equal to .05% of guest memory when nested virtualization is
not used, if the kernel is compiled without GVT-g.

Signed-off-by: David Stevens <stevensd@chromium.org>
Message-Id: <20210922045859.2011227-3-stevensd@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/include/asm/kvm_page_track.h
arch/x86/kvm/mmu/mmu.c
arch/x86/kvm/mmu/page_track.c
arch/x86/kvm/x86.c