mm: create promo_wmark_pages and clean up open-coded sites
authorKaiyang Zhao <kaiyang2@cs.cmu.edu>
Thu, 1 Aug 2024 23:25:47 +0000 (23:25 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 2 Sep 2024 03:25:58 +0000 (20:25 -0700)
Patch series "mm: print the promo watermark in zoneinfo", v2.

This patch (of 2):

Define promo_wmark_pages and convert current call sites of wmark_pages
with fixed WMARK_PROMO to using it instead.

Link: https://lkml.kernel.org/r/20240801232548.36604-1-kaiyang2@cs.cmu.edu
Link: https://lkml.kernel.org/r/20240801232548.36604-2-kaiyang2@cs.cmu.edu
Signed-off-by: Kaiyang Zhao <kaiyang2@cs.cmu.edu>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/mmzone.h
kernel/sched/fair.c
mm/vmscan.c

index dbb69f96a1529f16caabdf876ebe74c5f82d6259..9f3589f7f05c3fa5f873760799d5acf20101392a 100644 (file)
@@ -669,6 +669,7 @@ enum zone_watermarks {
 #define min_wmark_pages(z) (z->_watermark[WMARK_MIN] + z->watermark_boost)
 #define low_wmark_pages(z) (z->_watermark[WMARK_LOW] + z->watermark_boost)
 #define high_wmark_pages(z) (z->_watermark[WMARK_HIGH] + z->watermark_boost)
+#define promo_wmark_pages(z) (z->_watermark[WMARK_PROMO] + z->watermark_boost)
 #define wmark_pages(z, i) (z->_watermark[i] + z->watermark_boost)
 
 /*
index 416e29b56cc4478b2d49cc4a93c5ffa2e3f8dd8e..20ea6d0853058495f160b940c994110164a682d3 100644 (file)
@@ -1742,7 +1742,7 @@ static bool pgdat_free_space_enough(struct pglist_data *pgdat)
                        continue;
 
                if (zone_watermark_ok(zone, 0,
-                                     wmark_pages(zone, WMARK_PROMO) + enough_wmark,
+                                     promo_wmark_pages(zone) + enough_wmark,
                                      ZONE_MOVABLE, 0))
                        return true;
        }
index 852d97c134df7f807224930027cb80930a950cff..6b70e80ca0eea85d28b6ce9b509ad37914bde59c 100644 (file)
@@ -6669,7 +6669,7 @@ static bool pgdat_balanced(pg_data_t *pgdat, int order, int highest_zoneidx)
                        continue;
 
                if (sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING)
-                       mark = wmark_pages(zone, WMARK_PROMO);
+                       mark = promo_wmark_pages(zone);
                else
                        mark = high_wmark_pages(zone);
                if (zone_watermark_ok_safe(zone, order, mark, highest_zoneidx))