• de Dinechin, Christophe (Integrity VM)'s avatar
    [IA64] Avoid unnecessary TLB flushes when allocating memory · aec103bf
    Improve performance of memory allocations on ia64 by avoiding a global TLB
    purge to purge a single page from the file cache. This happens whenever we
    evict a page from the buffer cache to make room for some other allocation.
    
    Test case: Run 'find /usr -type f | xargs cat > /dev/null' in the
    background to fill the buffer cache, then run something that uses memory,
    e.g. 'gmake -j50 install'. Instrumentation showed that the number of
    global TLB purges went from a few millions down to about 170 over a 12
    hours run of the above.
    
    The performance impact is particularly noticeable under virtualization,
    because a virtual TLB is generally both larger and slower to purge than
    a physical one.
    Signed-off-by: default avatarChristophe de Dinechin <ddd@hp.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    aec103bf
tlb.c 5.05 KB