aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>2021-12-06 20:54:24 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-12-08 04:24:29 -0500
commitf5756029eef501bcd39ecd844968e4fb3055c1bd (patch)
tree9f7dd1e532ea6afb5bf53ae9926d043c4785b8b9 /virt
parentKVM: x86: Don't call kvm_mmu_change_mmu_pages() if the count hasn't changed (diff)
downloadlinux-dev-f5756029eef501bcd39ecd844968e4fb3055c1bd.tar.xz
linux-dev-f5756029eef501bcd39ecd844968e4fb3055c1bd.zip
KVM: x86: Use nr_memslot_pages to avoid traversing the memslots array
There is no point in recalculating from scratch the total number of pages in all memslots each time a memslot is created or deleted. Use KVM's cached nr_memslot_pages to compute the default max number of MMU pages. Note that even with nr_memslot_pages capped at ULONG_MAX we can't safely multiply it by KVM_PERMILLE_MMU_PAGES (20) since this operation can possibly overflow an unsigned long variable. Write this "* 20 / 1000" operation as "/ 50" instead to avoid such overflow. Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> [sean: use common KVM field and rework changelog accordingly] Reviewed-by: Sean Christopherson <seanjc@google.com> Message-Id: <d14c5a24535269606675437d5602b7dac4ad8c0e.1638817640.git.maciej.szmigiero@oracle.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions