[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 0/7] Make balloon drivers memory changes known to the rest of the kernel
Currently balloon drivers (Virtio,XEN, HyperV, VMWare, ...) inflate and deflate the guest memory size but there is no way to know how much the memory size is changed by them. A common use of the ballooning is to emulate [1] hot plug and hot unplug - due to the complexity of the later. Hotplug has a notifier and one can also check the updated memory size. To improve this add InflatedTotal and InflatedFree to /proc/meminfo and implement a balloon notifier. Amount of inflated memory can be used: - si_meminfo(..) users can improve calculations - adjust cache/buffer sizes - adjust object/connection limits - as a hint for the oom a killer - by user space software that monitors memory pressure Alexander Atanasov (7): Make place for common balloon code Enable balloon drivers to report inflated memory Display inflated memory to users drivers: virtio: balloon - update inflated memory Display inflated memory in logs drivers: vmware: balloon - report inflated memory drivers: hyperv: balloon - report inflated memory Documentation/filesystems/proc.rst | 6 +++ MAINTAINERS | 4 +- arch/powerpc/platforms/pseries/cmm.c | 2 +- drivers/hv/hv_balloon.c | 11 +++++ drivers/misc/vmw_balloon.c | 6 ++- drivers/virtio/virtio_balloon.c | 7 +++- fs/proc/meminfo.c | 10 +++++ .../linux/{balloon_compaction.h => balloon.h} | 30 ++++++++++---- lib/show_mem.c | 8 ++++ mm/Makefile | 2 +- mm/{balloon_compaction.c => balloon.c} | 40 +++++++++++++++++-- mm/migrate.c | 1 - mm/vmscan.c | 1 - 13 files changed, 110 insertions(+), 18 deletions(-) rename include/linux/{balloon_compaction.h => balloon.h} (86%) rename mm/{balloon_compaction.c => balloon.c} (88%) v4: - add support in hyperV and vmware balloon drivers - display balloon memory in show_mem so it is logged on OOM and on sysrq v3: - added missed EXPORT_SYMBOLS Reported-by: kernel test robot <lkp@xxxxxxxxx> - instead of balloon_common.h just use balloon.h (yes, naming is hard) - cleaned up balloon.h - remove from files that do not use it and remove externs from function declarations v2: - reworked from simple /proc/meminfo addition Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Wei Liu <wei.liu@xxxxxxxxxx> Cc: Nadav Amit <namit@xxxxxxxxxx> Cc: pv-drivers@xxxxxxxxxx Cc: Jason Wang <jasowang@xxxxxxxxxx> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx> Cc: Dexuan Cui <decui@xxxxxxxxxxxxx> Cc: linux-hyperv@xxxxxxxxxxxxxxx Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx 1. https://lore.kernel.org/lkml/f0f12c84-a62e-5f8b-46ab-a651fe8f8589@xxxxxxxxxx/ base-commit: 2bca25eaeba6190efbfcb38ed169bd7ee43b5aaf -- 2.31.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |