KVM: x86/mmu: Buffer nested MMU split_desc_cache only by default capacity
authorSean Christopherson <seanjc@google.com>
Fri, 24 Jun 2022 17:18:08 +0000 (17:18 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 25 Jun 2022 08:54:51 +0000 (04:54 -0400)
commitb9b71f43683ae9d76b0989249607bbe8c9eb6c5c
tree688a7392e01cc0b6e8415892354004dc4c6a4847
parent72ae5822b81a6686c4b4d526ccdd7b7f5f0f9b97
KVM: x86/mmu: Buffer nested MMU split_desc_cache only by default capacity

Buffer split_desc_cache, the cache used to allcoate rmap list entries,
only by the default cache capacity (currently 40), not by doubling the
minimum (513).  Aliasing L2 GPAs to L1 GPAs is uncommon, thus eager page
splitting is unlikely to need 500+ entries.  And because each object is a
non-trivial 128 bytes (see struct pte_list_desc), those extra ~500
entries means KVM is in all likelihood wasting ~64kb of memory per VM.

Link: https://lore.kernel.org/all/YrTDcrsn0%2F+alpzf@google.com
Cc: David Matlack <dmatlack@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220624171808.2845941-4-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/mmu.c