KVM Architecture LK2010 PDF
KVM Architecture LK2010 PDF
Introduction
Basic KVM model
Memory
API
Optimizations
Paravirtual devices
Outlook
Instruction On-Chip
Set Resources
Busses
& CPU
I/O Devices
MMU
Clocks
Interrupt
&
Controllers
Timers
Memory
Two variants
Intel's Virtualization Technology, VT-x
AMD-V (aka Secure Virtual Machine)
Identical core concept
User Space
Handle
Update
• I/O Handle
context, Run
• Invalid states Signal
raise IRQs
• ...
Handle
Update • In-Kernel I/O Handle
Kernel
guest • [vMMU] Host
state Save Host, • ... Save Guest, IRQ
Load Guest Load Host
State State
VM entry VM exit
CPU
Execute native (with reason)
guest code
KVM_CREATE_VM
KVM_SET_USER_MEMORY_REGION
KVM_CREATE_IRQCHIP / ...PIT (x86)
KVM_CREATE_VCPU
Advantages
Reduce VM exits or make them lightweight
Improve I/O throughput & latency (less emulation)
Compensates virtualization effects
Enable direct host-guest interaction
Available interfaces & implementions
virtio (PCI or alternative transports)
Network
Block user space
Serial I/O (console, host-guest channel, …) business
Memory balloon (primarily)
File system (9P)
Clock (x86 only)
Via shared page + MSRs KVM
business
Enables safeTM TSC guest usage
Questions?