diff options
author | Adam Litke <agl@us.ibm.com> | 2010-01-26 14:17:35 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-01-26 17:08:03 -0600 |
commit | 625a5befc2e3200b396594f002218d235e375da5 (patch) | |
tree | 89b9362c879d319b5061424035e3dbead9555e70 /balloon.h | |
parent | 940cc30d0d456781adcc48bf9f8c5582026d7983 (diff) |
virtio: Add memory statistics reporting to the balloon driver
When using ballooning to manage overcommitted memory on a host, a system for
guests to communicate their memory usage to the host can provide information
that will minimize the impact of ballooning on the guests. The current method
employs a daemon running in each guest that communicates memory statistics to a
host daemon at a specified time interval. The host daemon aggregates this
information and inflates and/or deflates balloons according to the level of
host memory pressure. This approach is effective but overly complex since a
daemon must be installed inside each guest and coordinated to communicate with
the host. A simpler approach is to collect memory statistics in the virtio
balloon driver and communicate them directly to the hypervisor.
Signed-off-by: Adam Litke <agl@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'balloon.h')
-rw-r--r-- | balloon.h | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -16,12 +16,13 @@ #include "cpu-defs.h" -typedef ram_addr_t (QEMUBalloonEvent)(void *opaque, ram_addr_t target); +typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target, + MonitorCompletion cb, void *cb_data); void qemu_add_balloon_handler(QEMUBalloonEvent *func, void *opaque); -void qemu_balloon(ram_addr_t target); +int qemu_balloon(ram_addr_t target, MonitorCompletion cb, void *opaque); -ram_addr_t qemu_balloon_status(void); +int qemu_balloon_status(MonitorCompletion cb, void *opaque); #endif |