Add virtio-balloon support

This adds a VirtIO based balloon driver.  It uses madvise() to actually balloon
the memory when possible.

Until 2.6.27, KVM forced memory pinning so we must disable ballooning unless the
kernel actually supports it when using KVM.  It's always safe when using TCG.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5874 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aliguori 2008-12-04 20:33:06 +00:00
parent df751fa8bf
commit bd3220870f
7 changed files with 261 additions and 3 deletions

View file

@ -549,3 +549,15 @@ int kvm_vcpu_ioctl(CPUState *env, int type, ...)
return ret;
}
int kvm_has_sync_mmu(void)
{
KVMState *s = kvm_state;
#ifdef KVM_CAP_SYNC_MMU
if (kvm_ioctl(s, KVM_CHECK_EXTENSION, KVM_CAP_SYNC_MMU) > 0)
return 1;
#endif
return 0;
}