PV on HVM
What is it?
PV on HVM is a mixture of paravirtualization and full hardware virtualization. The primary goal of PV on HVM is to boost performance of fully virtualized HVM guests through use of specially optimized paravirtual device drivers (also called PVHVM or PV-on-HVM drivers).
The table shows how PV, HVM and PV on HVM compare in terms of virtualization method:
HVM | PV on HVM | PV | |
---|---|---|---|
Boot Sequence | Emulated | Emulated | Paravirtualized |
Memory | Hardware | Hardware | Paravirtualized |
Interrupts, Timers & Spinlocks | Emulated | Paravirtualized (Emulated on Windows) |
Paravirtualized |
Disk & Network | Emulated | Paravirtualized | Paravirtualized |
Privileged Operations | Hardware | Hardware | Paravirtualized |
Performance
PV-on-HVM drivers are optimized PV drivers for HVM environments that bypass the emulation for disk and network IO. They also make use CPU functionality such as Intel EPT or AMD NPT support. Thus, giving you PV-like or better performance on HVM systems. You can find information about performance trade-offs in this presentation. In a nutshell:
- For workloads that favor PV MMUs, PV on HVM is similar to PV
- For workloads that favor nested paging (in hardware with Intel EPT or AMD NPT support), PV on HVM performs better than PV
Compatibility
The following links provide information about Xen and PV on HVM compatibility with various operating systems: