625a5befc2
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>
29 lines
658 B
C
29 lines
658 B
C
/*
|
|
* Balloon
|
|
*
|
|
* Copyright IBM, Corp. 2008
|
|
*
|
|
* Authors:
|
|
* Anthony Liguori <aliguori@us.ibm.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2. See
|
|
* the COPYING file in the top-level directory.
|
|
*
|
|
*/
|
|
|
|
#ifndef _QEMU_BALLOON_H
|
|
#define _QEMU_BALLOON_H
|
|
|
|
#include "cpu-defs.h"
|
|
|
|
typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target,
|
|
MonitorCompletion cb, void *cb_data);
|
|
|
|
void qemu_add_balloon_handler(QEMUBalloonEvent *func, void *opaque);
|
|
|
|
int qemu_balloon(ram_addr_t target, MonitorCompletion cb, void *opaque);
|
|
|
|
int qemu_balloon_status(MonitorCompletion cb, void *opaque);
|
|
|
|
#endif
|