VIOMB(4) | Kernel Interfaces Manual | VIOMB(4)

# NAME

viomb — VirtIO memory ballooning driver

# SYNOPSIS

virtio* at pci? dev ? function ?
viomb* at virtio?

# DESCRIPTION

virtio(4) defines an interface for efficient, standard, and extensible I/O between the hypervisor and the virtual machine. The viomb driver supports the virtio-compliant memory ballooning device.

Memory ballooning works as follows:

1. The host operator requests a guest to return some amount of memory to the host (via e.g. Qemu monitor balloon command).
2. The hypervisor sends the request via VirtIO memory ballooning device.
3. The guest viomb driver requests allocation of that amount of physical memory from the NetBSD memory management system.
4. The viomb device tells the hypervisor the guest physical memory address of the allocated memory via VirtIO memory ballooning device.

The sysctl node `hw.viomb.npages` shows the requested number of memory pages to return to the hypervisor, while `hw.viomb.actual` shows the actual number of memory pages that are already returned to the hypervisor.

# SEE ALSO

virtio(4), sysctl(8)

Rusty Russell, IBM Corporation, Virtio PCI Card Specification, http://ozlabs.org/~rusty/virtio-spec/.

# HISTORY

The viomb device driver appeared in NetBSD 6.0.

# BUGS

The userland interface should be same as the Xen ballooning device.

November 26, 2011 | NetBSD 6.0