On 11/21/22 18:11, Vlastimil Babka wrote: > SLAB_RECLAIM_ACCOUNT caches allocate their slab pages with > __GFP_RECLAIMABLE and can help against fragmentation by grouping pages > by mobility, but on tiny systems mobility grouping is likely disabled > anyway and ignoring SLAB_RECLAIM_ACCOUNT might instead lead to merging > of caches that are made incompatible just by the flag. > > Thus with CONFIG_SLUB_TINY, make SLAB_RECLAIM_ACCOUNT ineffective. > > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > --- > include/linux/slab.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/linux/slab.h b/include/linux/slab.h > index 3ce9474c90ab..1cbbda03ad06 100644 > --- a/include/linux/slab.h > +++ b/include/linux/slab.h > @@ -129,7 +129,11 @@ > > /* The following flags affect the page allocator grouping pages by mobility */ > /* Objects are reclaimable */ > +#ifndef CONFIG_SLUB_TINY > #define SLAB_RECLAIM_ACCOUNT ((slab_flags_t __force)0x00020000U) > +#else > +#define SLAB_RECLAIM_ACCOUNT 0 Updating the last line above to: #define SLAB_RECLAIM_ACCOUNT ((slab_flags_t __force)0) In response to: https://lore.kernel.org/all/202211280441.yCEecX9z-lkp@xxxxxxxxx/ Yeah it probably means that the other pre-existing flag variants that #define to 0 should be also adjusted to avoid these issues, but not as part of this series. > +#endif > #define SLAB_TEMPORARY SLAB_RECLAIM_ACCOUNT /* Objects are short-lived */ > > /*