Re: [PATCH] slub: Set __GFP_COMP in kmem_cache by default

From: Vlastimil Babka
Date: Mon Apr 15 2024 - 10:52:12 EST


On 4/13/24 5:56 PM, Haifeng Xu wrote:
> Now the __GFP_COMP is set only if the higher-order is not 0. However,
> __GFP_COMP flag can be set unconditionally because compound page can
> not be created in the order-0 case. And this can also simplify the code
> a bit (no need to check the order is 0 or not).
>
> Signed-off-by: Haifeng Xu <haifeng.xu@xxxxxxxxxx>
> Reviewed-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

Thanks, added to slab/for-next

> ---
> mm/slub.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index e7bf1a1a31a8..49a3ebefab86 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -4461,9 +4461,7 @@ static int calculate_sizes(struct kmem_cache *s)
> if ((int)order < 0)
> return 0;
>
> - s->allocflags = 0;
> - if (order)
> - s->allocflags |= __GFP_COMP;
> + s->allocflags = __GFP_COMP;
>
> if (s->flags & SLAB_CACHE_DMA)
> s->allocflags |= GFP_DMA;