Re: [PATCH v2] mm/page_alloc: count CMA pages per zone and print them in /proc/zoneinfo
From: David Rientjes <rientjes@google.com>
Date: 2021-01-28 21:55:10
Also in:
linux-api, lkml
From: David Rientjes <rientjes@google.com>
Date: 2021-01-28 21:55:10
Also in:
linux-api, lkml
On Thu, 28 Jan 2021, David Hildenbrand wrote:
diff --git a/mm/vmstat.c b/mm/vmstat.c index 7758486097f9..957680db41fa 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c@@ -1650,6 +1650,11 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat, zone->spanned_pages, zone->present_pages, zone_managed_pages(zone)); +#ifdef CONFIG_CMA + seq_printf(m, + "\n cma %lu", + zone->cma_pages); +#endif seq_printf(m, "\n protection: (%ld",
Hmm, not sure about this. If cma is only printed for CONFIG_CMA, we can't distinguish between (1) a kernel without your patch without including some version checking and (2) a kernel without CONFIG_CMA enabled. IOW, "cma 0" carries value: we know immediately that we do not have any CMA pages on this zone, period. /proc/zoneinfo is also not known for its conciseness so I think printing "cma 0" even for !CONFIG_CMA is helpful :) I think this #ifdef should be removed and it should call into a zone_cma_pages(struct zone *zone) which returns 0UL if disabled.