• Ingo Molnar's avatar
    mm: allow only SLUB on PREEMPT_RT · 252220da
    Ingo Molnar authored
    Memory allocators may disable interrupts or preemption as part of the
    allocation and freeing process.  For PREEMPT_RT it is important that
    these sections remain deterministic and short and therefore don't depend
    on the size of the memory to allocate/ free or the inner state of the
    algorithm.
    
    Until v3.12-RT the SLAB allocator was an option but involved several
    changes to meet all the requirements.  The SLUB design fits better with
    PREEMPT_RT model and so the SLAB patches were dropped in the 3.12-RT
    patchset.  Comparing the two allocator, SLUB outperformed SLAB in both
    throughput (time needed to allocate and free memory) and the maximal
    latency of the system measured with cyclictest during hackbench.
    
    SLOB was never evaluated since it was unlikely that it preforms better
    than SLAB.  During a quick test, the kernel crashed with SLOB enabled
    during boot.
    
    Disable SLAB and SLOB on PREEMPT_RT.
    
    [bigeasy@linutronix.de: commit description]
    
    Link: https://lkml.kernel.org/r/202110...
    252220da
Kconfig 76 KB