The nr_free_highatomic is a key factor in calculating watermarks as it
affects the free pages count. Adding this metric, along with
nr_reserved_highatomic, to /proc/zoneinfo facilitates easier diagnosis
memory watermark calculations and memory pressure states.
Sample output:
cat /proc/zoneinfo
......
pagesets
cpu: 0
count: 52069
high: 52675
batch: 63
high_min: 13971
high_max: 62284
vm stats threshold: 10
node_unreclaimable: 0
start_pfn: 4096
reserved_highatomic: 5120
free_highatomic: 2081
Signed-off-by: Jiayuan Chen <jiayuan.chen@linux.dev>
---
mm/vmstat.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/mm/vmstat.c b/mm/vmstat.c
index f226942db746..b53b07aa29e8 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1852,9 +1852,13 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
}
seq_printf(m,
"\n node_unreclaimable: %u"
- "\n start_pfn: %lu",
+ "\n start_pfn: %lu"
+ "\n reserved_highatomic: %lu"
+ "\n free_highatomic: %lu",
atomic_read(&pgdat->kswapd_failures) >= MAX_RECLAIM_RETRIES,
- zone->zone_start_pfn);
+ zone->zone_start_pfn,
+ zone->nr_reserved_highatomic,
+ zone->nr_free_highatomic);
seq_putc(m, '\n');
}
--
2.43.0