[pve-devel] [PATCH 6/7] enable kvm_pv_eoi cpuflag

Alexandre Derumier aderumier at odiso.com
Mon Mar 16 05:57:46 CET 2015


Paravirtualized End-of-Interrupt Indication (PV-EOI)
Hosts and guests require two VM exits (context switches from a VM to a Hypervisor) for each interrupt:
one to inject the interrupt, and another to signal the end of the interrupt.

With pv_eoi , they can negotiate a paravirtualized end-of-interrupt feature and only require one switch per interrupt.
Number of exits is reduced by half for interrupt-intensive workloads,
such as incoming network traffic with a virtio network device.
This leads to significant reduction in host CPU utilization for such workloads.

Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
 PVE/QemuServer.pm |    1 +
 1 file changed, 1 insertion(+)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 329b283..f4a1349 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2912,6 +2912,7 @@ sub config_to_command {
     if (qemu_machine_feature_enabled ($machine_type, $kvmver, 2, 3)) {
 
 	push @$cpuFlags , '+kvm_pv_unhalt' if !$nokvm;
+	push @$cpuFlags , '+kvm_pv_eoi' if !$nokvm;
     }
 
     $cpu .= "," . join(',', @$cpuFlags) if scalar(@$cpuFlags);
-- 
1.7.10.4




More information about the pve-devel mailing list