VIOMB(4) | Device Drivers 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), x86/balloon(4)

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.

August 25, 2020 | NetBSD 10.99