• M
    KVM: x86: Use nr_memslot_pages to avoid traversing the memslots array · f5756029
    Maciej S. Szmigiero 提交于
    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: NMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
    [sean: use common KVM field and rework changelog accordingly]
    Reviewed-by: NSean Christopherson <seanjc@google.com>
    Message-Id: <d14c5a24535269606675437d5602b7dac4ad8c0e.1638817640.git.maciej.szmigiero@oracle.com>
    f5756029
kvm_host.h 58.8 KB