• Christoph Lameter's avatar
    slub: Support 4k kmallocs again to compensate for page allocator slowness · 331dc558
    Christoph Lameter authored
    Currently we hand off PAGE_SIZEd kmallocs to the page allocator in the
    mistaken belief that the page allocator can handle these allocations
    effectively. However, measurements indicate a minimum slowdown by the
    factor of 8 (and that is only SMP, NUMA is much worse) vs the slub fastpath
    which causes regressions in tbench.
    
    Increase the number of kmalloc caches by one so that we again handle 4k
    kmallocs directly from slub. 4k page buffering for the page allocator
    will be performed by slub like done by slab.
    
    At some point the page allocator fastpath should be fixed. A lot of the kernel
    would benefit from a faster ability to allocate a single page. If that is
    done then the 4k allocs may again be forwarded to the page allocator and this
    patch could be reverted.
    Reviewed-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
    Acked-by: default avatarMel Gorman <mel@csn.ul.ie>
    Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
    331dc558
slub.c 104 KB