diff mbox series

slub: Set __GFP_COMP in kmem_cache by default

Message ID 20240413155603.617554-1-haifeng.xu@shopee.com (mailing list archive)
State New
Headers show
Series slub: Set __GFP_COMP in kmem_cache by default | expand

Commit Message

Haifeng Xu April 13, 2024, 3:56 p.m. UTC
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@shopee.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
 mm/slub.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Vlastimil Babka April 15, 2024, 2:52 p.m. UTC | #1
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@shopee.com>
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>

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;
diff mbox series

Patch

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;