]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm: consider CMA pages in watermark check for NUMA balancing target node
authorKaiyang Zhao <kaiyang2@cs.cmu.edu>
Thu, 1 Aug 2024 18:04:56 +0000 (18:04 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 2 Sep 2024 03:25:58 +0000 (20:25 -0700)
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().

Link: https://lkml.kernel.org/r/20240801180456.25927-1-kaiyang2@cs.cmu.edu
Signed-off-by: Kaiyang Zhao <kaiyang2@cs.cmu.edu>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/migrate.c

index 8578a930cad1e3ac9c7aff72ba1461c179654852..aa482c954cb0486c03abecd04b708d09f25ce507 100644 (file)
@@ -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;
        }