• Maciej S. Szmigiero's avatar
    KVM: selftests: Keep track of memslots more efficiently · 22721a56
    Maciej S. Szmigiero authored
    The KVM selftest framework was using a simple list for keeping track of
    the memslots currently in use.
    This resulted in lookups and adding a single memslot being O(n), the
    later due to linear scanning of the existing memslot set to check for
    the presence of any conflicting entries.
    
    Before this change, benchmarking high count of memslots was more or less
    impossible as pretty much all the benchmark time was spent in the
    selftest framework code.
    
    We can simply use a rbtree for keeping track of both of gfn and hva.
    We don't need an interval tree for hva here as we can't have overlapping
    memslots because we allocate a completely new memory chunk for each new
    memslot.
    Signed-off-by: default avatarMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
    Reviewed-by: default avatarAndrew Jones <drjones@redhat.com>
    Message-Id: <b12749d47ee860468240cf027412c91b76dbe3db.1618253574.git.maciej.szmigiero@oracle.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    22721a56
kvm_util_internal.h 2.62 KB