The VMware balloon driver optimizes the memory reclamation when Linux runs in a VM of a VMware hypervisor (such as ESXi, VMware Workstation, or VMware Fusion). The hypervisor signals the balloon driver how much memory to reclaim. The balloon driver allocates this amount of memory via regular Linux allocation mechanisms. As the memory appears to be used by the driver linux does not touch it and the hypervisor can unmap it and give the memory to a different VM. This is not different from any other balloon driver.
This series of patches improves the balloon drivers performance, latency, and reduces the overhead to reclaim memory. All of this is done while staying backwards compatible with all ever shipping versions of VMware's hypervisors. There are three main improvements: - The balloon driver and hypervisor communicate about the capabilities of each other during balloon load. - Instead of inflating the memory a single 4 KB page at a time, the balloon allocates a whole list of pages and hands it off to the hypervisor at once. - We can now allocate 2 MB and 4 KB pages which further reduces the overhead and increases the performance - If there is an demand to reclaim memory the hypervisor signals the balloon driver via VMCI that there is something to do. Before the balloon driver polled ever second. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/