Add InflatedTotal and InflatedFree to /proc/meminfo Signed-off-by: Alexander Atanasov <alexander.atanasov@xxxxxxxxxxxxx> --- Documentation/filesystems/proc.rst | 6 ++++++ fs/proc/meminfo.c | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst index e7aafc82be99..690e1b90ffee 100644 --- a/Documentation/filesystems/proc.rst +++ b/Documentation/filesystems/proc.rst @@ -991,6 +991,8 @@ Example output. You may not have all of these fields. VmallocUsed: 40444 kB VmallocChunk: 0 kB Percpu: 29312 kB + InflatedTotal: 2097152 kB + InflatedFree: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 4149248 kB ShmemHugePages: 0 kB @@ -1138,6 +1140,10 @@ VmallocChunk Percpu Memory allocated to the percpu allocator used to back percpu allocations. This stat excludes the cost of metadata. +InflatedTotal and InflatedFree + Amount of memory that is inflated by the balloon driver. + Due to differences among the drivers inflated memory + is subtracted from TotalRam or from MemFree. HardwareCorrupted The amount of RAM/memory in KB, the kernel identifies as corrupted. diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c index 6e89f0e2fd20..7182886efdbf 100644 --- a/fs/proc/meminfo.c +++ b/fs/proc/meminfo.c @@ -16,6 +16,9 @@ #ifdef CONFIG_CMA #include <linux/cma.h> #endif +#ifdef CONFIG_MEMORY_BALLOON +#include <linux/balloon.h> +#endif #include <asm/page.h> #include "internal.h" @@ -153,6 +156,13 @@ static int meminfo_proc_show(struct seq_file *m, void *v) global_zone_page_state(NR_FREE_CMA_PAGES)); #endif +#ifdef CONFIG_MEMORY_BALLOON + seq_printf(m, "InflatedTotal: %8ld kB\n", + atomic_long_read(&mem_balloon_inflated_total_kb)); + seq_printf(m, "InflatedFree: %8ld kB\n", + atomic_long_read(&mem_balloon_inflated_free_kb)); +#endif + hugetlb_report_meminfo(m); arch_report_meminfo(m); -- 2.31.1