2022-04-12 07:19:26

by Jiyoup Kim

[permalink] [raw]
Subject: [PATCH] mm/slub: remove duplicate flag in allocate_slab()

In allocate_slab(), __GFP_NOFAIL flag is removed twice when trying
higher-order allocation. Remove it.

Signed-off-by: Jiyoup Kim <[email protected]>
---
mm/slub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/slub.c b/mm/slub.c
index 74d92aa4a3a2..a0e605ab3036 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1939,7 +1939,7 @@ static struct slab *allocate_slab(struct kmem_cache *s, gfp_t flags, int node)
*/
alloc_gfp = (flags | __GFP_NOWARN | __GFP_NORETRY) & ~__GFP_NOFAIL;
if ((alloc_gfp & __GFP_DIRECT_RECLAIM) && oo_order(oo) > oo_order(s->min))
- alloc_gfp = (alloc_gfp | __GFP_NOMEMALLOC) & ~(__GFP_RECLAIM|__GFP_NOFAIL);
+ alloc_gfp = (alloc_gfp | __GFP_NOMEMALLOC) & ~__GFP_RECLAIM;

slab = alloc_slab_page(alloc_gfp, node, oo);
if (unlikely(!slab)) {
--
2.25.1


2022-04-12 15:00:50

by Muchun Song

[permalink] [raw]
Subject: Re: [PATCH] mm/slub: remove duplicate flag in allocate_slab()

On Sun, Apr 10, 2022 at 12:05:37AM +0900, Jiyoup Kim wrote:
> In allocate_slab(), __GFP_NOFAIL flag is removed twice when trying
> higher-order allocation. Remove it.
>
> Signed-off-by: Jiyoup Kim <[email protected]>

LGTM.

Reviewed-by: Muchun Song <[email protected]>

2022-04-12 23:26:21

by Vlastimil Babka

[permalink] [raw]
Subject: Re: [PATCH] mm/slub: remove duplicate flag in allocate_slab()

On 4/9/22 17:05, Jiyoup Kim wrote:
> In allocate_slab(), __GFP_NOFAIL flag is removed twice when trying
> higher-order allocation. Remove it.
>
> Signed-off-by: Jiyoup Kim <[email protected]>

Thanks, added.

> ---
> mm/slub.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index 74d92aa4a3a2..a0e605ab3036 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -1939,7 +1939,7 @@ static struct slab *allocate_slab(struct kmem_cache *s, gfp_t flags, int node)
> */
> alloc_gfp = (flags | __GFP_NOWARN | __GFP_NORETRY) & ~__GFP_NOFAIL;
> if ((alloc_gfp & __GFP_DIRECT_RECLAIM) && oo_order(oo) > oo_order(s->min))
> - alloc_gfp = (alloc_gfp | __GFP_NOMEMALLOC) & ~(__GFP_RECLAIM|__GFP_NOFAIL);
> + alloc_gfp = (alloc_gfp | __GFP_NOMEMALLOC) & ~__GFP_RECLAIM;
>
> slab = alloc_slab_page(alloc_gfp, node, oo);
> if (unlikely(!slab)) {

2022-04-13 15:19:32

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] mm/slub: remove duplicate flag in allocate_slab()

On Sun, 10 Apr 2022, Jiyoup Kim wrote:

> In allocate_slab(), __GFP_NOFAIL flag is removed twice when trying
> higher-order allocation. Remove it.
>
> Signed-off-by: Jiyoup Kim <[email protected]>

Acked-by: David Rientjes <[email protected]>