Re: [RFC 1/5] meminfo: add a per node counter for balloon drivers

From: Shakeel Butt
Date: Wed Mar 12 2025 - 00:21:19 EST


On Tue, Mar 11, 2025 at 06:06:56PM -0600, Nico Pache wrote:
> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and
> expose it through /proc/meminfo and other memory reporting interfaces.
>
> Signed-off-by: Nico Pache <npache@xxxxxxxxxx>
> ---
> fs/proc/meminfo.c | 2 ++
> include/linux/mmzone.h | 1 +
> mm/memcontrol.c | 1 +
> mm/show_mem.c | 4 +++-
> mm/vmstat.c | 1 +
> 5 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
> index 8ba9b1472390..83be312159c9 100644
> --- a/fs/proc/meminfo.c
> +++ b/fs/proc/meminfo.c
> @@ -162,6 +162,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
> show_val_kb(m, "Unaccepted: ",
> global_zone_page_state(NR_UNACCEPTED));
> #endif
> + show_val_kb(m, "Balloon: ",
> + global_node_page_state(NR_BALLOON_PAGES));
>
> hugetlb_report_meminfo(m);
>
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index 9540b41894da..71d3ff19267a 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -223,6 +223,7 @@ enum node_stat_item {
> #ifdef CONFIG_HUGETLB_PAGE
> NR_HUGETLB,
> #endif
> + NR_BALLOON_PAGES,
> NR_VM_NODE_STAT_ITEMS
> };
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 4de6acb9b8ec..182b44646bfa 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1377,6 +1377,7 @@ static const struct memory_stat memory_stats[] = {
> #ifdef CONFIG_HUGETLB_PAGE
> { "hugetlb", NR_HUGETLB },
> #endif
> + { "nr_balloon_pages", NR_BALLOON_PAGES },

Please remove the above counter from memcontrol.c as I don't think this
memory is accounted towards memcg.