• Anton Blanchard's avatar
    powerpc: Fix hypervisor TLB batching · b6dcde5c
    Anton Blanchard authored
    Profiling of a page fault scalability microbenchmark shows flush_hash_range
    is not calling the batch hpte invalidate hcall (H_BULK_REMOVE).
    
    It turns out we have a duplicate firmware feature for hcall-bulk and the
    current setup code stops after finding the first match. This meant we never
    batch and always do individual invalidates.
    
    The patch below removes the duplicate and shifts FW_FEATURE_CMO to close
    the gap. With the patch applied the single threaded page fault rate improves
    from 217169 to 238755 per second on a POWER5 test box, a 10% improvement.
    Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    b6dcde5c
firmware.c 2.52 KB