diff mbox series

mm: consider CMA pages in watermark check for NUMA balancing target node

Message ID 20240801180456.25927-1-kaiyang2@cs.cmu.edu (mailing list archive)
State New
Headers show
Series mm: consider CMA pages in watermark check for NUMA balancing target node | expand

Commit Message

Kaiyang Zhao Aug. 1, 2024, 6:04 p.m. UTC
From: Kaiyang Zhao <kaiyang2@cs.cmu.edu>

Currently in migrate_balanced_pgdat(), ALLOC_CMA flag is not passed
when checking watermark on the migration target node. This does not
match the gfp in alloc_misplaced_dst_folio() which allows allocation
from CMA.

This causes promotion failures when there are a lot of available CMA
memory in the system.

Therefore, we change the alloc_flags passed to zone_watermark_ok() in
migrate_balanced_pgdat().

Signed-off-by: Kaiyang Zhao <kaiyang2@cs.cmu.edu>
---
 mm/migrate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Johannes Weiner Aug. 1, 2024, 7:04 p.m. UTC | #1
On Thu, Aug 01, 2024 at 06:04:56PM +0000, kaiyang2@cs.cmu.edu wrote:
> From: Kaiyang Zhao <kaiyang2@cs.cmu.edu>
> 
> Currently in migrate_balanced_pgdat(), ALLOC_CMA flag is not passed
> when checking watermark on the migration target node. This does not
> match the gfp in alloc_misplaced_dst_folio() which allows allocation
> from CMA.
> 
> This causes promotion failures when there are a lot of available CMA
> memory in the system.
> 
> Therefore, we change the alloc_flags passed to zone_watermark_ok() in
> migrate_balanced_pgdat().
> 
> Signed-off-by: Kaiyang Zhao <kaiyang2@cs.cmu.edu>

Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Baolin Wang Aug. 2, 2024, 2:40 a.m. UTC | #2
On 2024/8/2 02:04, kaiyang2@cs.cmu.edu wrote:
> From: Kaiyang Zhao <kaiyang2@cs.cmu.edu>
> 
> Currently in migrate_balanced_pgdat(), ALLOC_CMA flag is not passed
> when checking watermark on the migration target node. This does not
> match the gfp in alloc_misplaced_dst_folio() which allows allocation
> from CMA.
> 
> This causes promotion failures when there are a lot of available CMA
> memory in the system.
> 
> Therefore, we change the alloc_flags passed to zone_watermark_ok() in
> migrate_balanced_pgdat().
> 
> Signed-off-by: Kaiyang Zhao <kaiyang2@cs.cmu.edu>

LGTM.
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>

> ---
>   mm/migrate.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/migrate.c b/mm/migrate.c
> index 8578a930cad1..aa482c954cb0 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -2526,7 +2526,7 @@ static bool migrate_balanced_pgdat(struct pglist_data *pgdat,
>   		if (!zone_watermark_ok(zone, 0,
>   				       high_wmark_pages(zone) +
>   				       nr_migrate_pages,
> -				       ZONE_MOVABLE, 0))
> +				       ZONE_MOVABLE, ALLOC_CMA))
>   			continue;
>   		return true;
>   	}
diff mbox series

Patch

diff --git a/mm/migrate.c b/mm/migrate.c
index 8578a930cad1..aa482c954cb0 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -2526,7 +2526,7 @@  static bool migrate_balanced_pgdat(struct pglist_data *pgdat,
 		if (!zone_watermark_ok(zone, 0,
 				       high_wmark_pages(zone) +
 				       nr_migrate_pages,
-				       ZONE_MOVABLE, 0))
+				       ZONE_MOVABLE, ALLOC_CMA))
 			continue;
 		return true;
 	}