summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/Kconfig
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>2021-12-06 20:54:28 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-12-08 04:24:32 -0500
commited922739c9199bf515a3e7fec3e319ce1edeef2a (patch)
tree287fba29b9f4f72147c4db889723274e3e7269f1 /arch/x86/kvm/Kconfig
parent26b8345abc75a7404716864710930407b7d873f9 (diff)
downloadlinux-stable-ed922739c9199bf515a3e7fec3e319ce1edeef2a.tar.gz
linux-stable-ed922739c9199bf515a3e7fec3e319ce1edeef2a.tar.bz2
linux-stable-ed922739c9199bf515a3e7fec3e319ce1edeef2a.zip
KVM: Use interval tree to do fast hva lookup in memslots
The current memslots implementation only allows quick binary search by gfn, quick lookup by hva is not possible - the implementation has to do a linear scan of the whole memslots array, even though the operation being performed might apply just to a single memslot. This significantly hurts performance of per-hva operations with higher memslot counts. Since hva ranges can overlap between memslots an interval tree is needed for tracking them. [sean: handle interval tree updates in kvm_replace_memslot()] Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Message-Id: <d66b9974becaa9839be9c4e1a5de97b177b4ac20.1638817640.git.maciej.szmigiero@oracle.com>
Diffstat (limited to 'arch/x86/kvm/Kconfig')
-rw-r--r--arch/x86/kvm/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
index 619186138176..7618bef0a4a9 100644
--- a/arch/x86/kvm/Kconfig
+++ b/arch/x86/kvm/Kconfig
@@ -43,6 +43,7 @@ config KVM
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
select KVM_VFIO
select SRCU
+ select INTERVAL_TREE
select HAVE_KVM_PM_NOTIFIER if PM
help
Support hosting fully virtualized guest machines using hardware