Re: [PATCH] mm: Allow only SLUB on PREEMPT_RT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/15/21 11:03 PM, Sebastian Andrzej Siewior wrote:
> From: Ingo Molnar <mingo@xxxxxxxxxx>
> Date: Fri, 3 Jul 2009 08:44:03 -0500
> 
> 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: commit description.]
> 
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
>  init/Kconfig |    2 ++
>  1 file changed, 2 insertions(+)
> 
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1896,6 +1896,7 @@ choice
>  
>  config SLAB
>  	bool "SLAB"
> +	depends on !PREEMPT_RT
>  	select HAVE_HARDENED_USERCOPY_ALLOCATOR
>  	help
>  	  The regular slab allocator that is established and known to work
> @@ -1916,6 +1917,7 @@ config SLUB
>  config SLOB
>  	depends on EXPERT
>  	bool "SLOB (Simple Allocator)"
> +	depends on !PREEMPT_RT
>  	help
>  	   SLOB replaces the stock allocator with a drastically simpler
>  	   allocator. SLOB is generally more space efficient but
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux