]> git.proxmox.com Git - qemu-server.git/commitdiff
enable kvm_pv_eoi cpuflag
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 16 Mar 2015 04:57:46 +0000 (05:57 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 17 Mar 2015 07:57:47 +0000 (08:57 +0100)
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@odiso.com>
PVE/QemuServer.pm

index 329b283bf123abbcc2507647f0a7eed11a07fabc..f4a13491b0368d8e8171f366f9c254b6e9ea4dd5 100644 (file)
@@ -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);