• Nicholas Piggin's avatar
    KVM: PPC: Book3S HV: Lockless tlbie for HPT hcalls · b7557451
    Nicholas Piggin authored
    tlbies to an LPAR do not have to be serialised since POWER4/PPC970,
    after which the MMU_FTR_LOCKLESS_TLBIE feature was introduced to
    avoid tlbie locking.
    
    Since commit c17b98cf ("KVM: PPC: Book3S HV: Remove code for
    PPC970 processors"), KVM no longer supports processors that do not
    have this feature, so the tlbie locking can be removed completely.
    A sanity check for the feature is put in kvmppc_mmu_hv_init.
    
    Testing was done on a POWER9 system in HPT mode, with a -smp 32 guest
    in HPT mode. 32 instances of the powerpc fork benchmark from selftests
    were run with --fork, and the results measured.
    
    Without this patch, total throughput was about 13.5K/sec, and this is
    the top of the host profile:
    
       74.52%  [k] do_tlbies
        2.95%  [k] kvmppc_book3s_hv_page_fault
        1.80%  [k] calc_checksum
        1.80%  [k] kvmppc_vcpu_run_hv
        1.49%  [k] kvmppc_run_core
    
    After this patch, throughput was about 51K/sec, with this profile:
    
       21.28%  [k] do_tlbies
        5.26%  [k] kvmppc_run_core
        4.88%  [k] kvmppc_book3s_hv_page_fault
        3.30%  [k] _raw_spin_lock_irqsave
        3.25%  [k] gup_pgd_range
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    b7557451
book3s_hv_rm_mmu.c 31.4 KB