mm, slub: retain no free slabs on partial list with CONFIG_SLUB_TINY
SLUB will leave a number of slabs on the partial list even if they are empty, to avoid some slab freeing and reallocation. The goal of CONFIG_SLUB_TINY is to minimize memory overhead, so set the limits to 0 for immediate slab page freeing. Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Roman Gushchin <roman.gushchin@linux.dev> Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Acked-by: Mike Rapoport <rppt@linux.ibm.com> Reviewed-by: Christoph Lameter <cl@linux.com>
This commit is contained in:
parent
b1a413a39a
commit
5a8a3c1f73
|
@ -241,6 +241,7 @@ static inline bool kmem_cache_has_cpu_partial(struct kmem_cache *s)
|
|||
/* Enable to log cmpxchg failures */
|
||||
#undef SLUB_DEBUG_CMPXCHG
|
||||
|
||||
#ifndef CONFIG_SLUB_TINY
|
||||
/*
|
||||
* Minimum number of partial slabs. These will be left on the partial
|
||||
* lists even if they are empty. kmem_cache_shrink may reclaim them.
|
||||
|
@ -253,6 +254,10 @@ static inline bool kmem_cache_has_cpu_partial(struct kmem_cache *s)
|
|||
* sort the partial list by the number of objects in use.
|
||||
*/
|
||||
#define MAX_PARTIAL 10
|
||||
#else
|
||||
#define MIN_PARTIAL 0
|
||||
#define MAX_PARTIAL 0
|
||||
#endif
|
||||
|
||||
#define DEBUG_DEFAULT_FLAGS (SLAB_CONSISTENCY_CHECKS | SLAB_RED_ZONE | \
|
||||
SLAB_POISON | SLAB_STORE_USER)
|
||||
|
|
Loading…
Reference in New Issue