Virtualization · Cluster
VM Performance
Exit costs, I/O paths, and overcommit.
- 01 Anatomy of a VM Exit: State Save, Exit Qualification, and Where the Cycles Go What the processor writes to the VMCS on every exit, which exit reasons dominate a running guest, and why the host-side handler usually costs more than the transition itself.
- 02 Nested Paging: The Two-Dimensional Walk and the Cost of a Single Guest Access How EPT and NPT turn every guest memory access into two page walks, what an EPT violation reports, and why the hardware page-walk cache decides whether nested paging is cheap or ruinous.
- 03 Emulated MMIO: Instruction Decode, Register Semantics, and Exit Storms How a write to an emulated device register becomes a trap, what the hypervisor must decode before it can act, and why a driver that pokes registers in a loop degrades an entire host.
- 04 Virtualizing the Local APIC: Access Pages, Virtual Interrupt Delivery, and Posted Interrupts Why every interrupt acknowledgement used to cost an exit, how hardware removed the exit for the common case, and what a posted interrupt descriptor does between the device and the guest.
- 05 The Virtio Split Ring: Descriptor Chaining and the Two Suppression Flags The byte layout of the descriptor table, available ring, and used ring, how descriptors chain through guest memory, and how the event-index mechanism replaces the older no-notify flags.
- 06 Counting Copies on the Virtual I/O Path: Userspace, vhost, and Passthrough How many times a packet is touched between a guest buffer and the wire in each device model, what each eliminated copy costs in complexity, and where the remaining copies cannot be removed.
- 07 Overcommitted Guest Memory: Ballooning, Page Sharing, and Whose Reclaim Runs First How a hypervisor hands out more memory than it owns, why the guest cannot see pages being taken away, and the two mechanisms that make the guest a participant rather than a victim.
- 08 Steal Time and vCPU Skew: What Happens When a Guest Gets Fewer Cores Than It Asked For Why a guest cannot see its own descheduling, how paravirtualized steal accounting reports it, and why lock holders that lose the CPU cost far more than the time they lost.
- 09 TLB Tagging and Nested Invalidation: Keeping Translations Alive Across a VM Boundary Why guest translations must survive an exit, how address-space identifiers make that possible, and why invalidating the second level is coarser and more expensive than the first.
- 10 Virtualized Performance Counters and the Time They Do Not Count How a guest gets access to a PMU, what context switching the counters costs, and why the cycles reported inside a guest systematically omit the time the hypervisor spent on its behalf.