This series introduces a way to track memory used by balloon drivers. Add a NR_BALLOON_PAGES counter to track how many pages are reclaimed by the balloon drivers. First add the accounting, then updates the balloon drivers (virtio, Hyper-V, VMware, Pseries-cmm, and Xen) to maintain this counter. The virtio, Vmware, and pseries-cmm balloon drivers utilize the balloon_compaction interface to allocate and free balloon pages. Other balloon drivers will have to maintain this counter manually. This makes the information visible in memory reporting interfaces like /proc/meminfo, show_mem, and OOM reporting. This provides admins visibility into their VM balloon sizes without requiring different virtualization tooling. Furthermore, this information is helpful when debugging an OOM inside a VM. V2 changes: - Add counter to the balloon_compaction interface - Dropped patches for virtio and VMware as they use balloon_compaction interface Tested: virtio_balloon, run stress-ng, inflate balloon, oom prints Signed-off-by: Nico Pache <npache@xxxxxxxxxx> Nico Pache (4): meminfo: add a per node counter for balloon drivers balloon_compaction: update the NR_BALLOON_PAGES state hv_balloon: update the NR_BALLOON_PAGES state xen: balloon: update the NR_BALLOON_PAGES state drivers/hv/hv_balloon.c | 2 ++ drivers/xen/balloon.c | 4 ++++ fs/proc/meminfo.c | 2 ++ include/linux/mmzone.h | 1 + mm/balloon_compaction.c | 2 ++ mm/show_mem.c | 4 +++- mm/vmstat.c | 1 + 7 files changed, 15 insertions(+), 1 deletion(-) -- 2.48.1