[pve-devel] [PATCH 1/3] enable x2apic by default for kvm machines
Alexandre Derumier
aderumier at odiso.com
Mon Jul 8 11:40:34 CEST 2013
this reduce interrupts for multi-cores guests
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/QemuServer.pm | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 31d8103..196ad0a 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2225,6 +2225,7 @@ sub config_to_command {
my $globalFlags = [];
my $machineFlags = [];
my $rtcFlags = [];
+ my $cpuFlags = [];
my $devices = [];
my $pciaddr = '';
my $bridges = {};
@@ -2313,16 +2314,6 @@ sub config_to_command {
push @$cmd, '-name', $vmname;
- my $sockets = 1;
- $sockets = $conf->{smp} if $conf->{smp}; # old style - no longer iused
- $sockets = $conf->{sockets} if $conf->{sockets};
-
- my $cores = $conf->{cores} || 1;
-
- push @$cmd, '-smp', "sockets=$sockets,cores=$cores";
-
- push @$cmd, '-cpu', $conf->{cpu} if $conf->{cpu};
-
push @$cmd, '-nodefaults';
my $bootorder = $conf->{boot} || $confdesc->{boot}->{default};
@@ -2395,6 +2386,20 @@ sub config_to_command {
push @$rtcFlags, 'base=localtime';
}
+ my $sockets = 1;
+ $sockets = $conf->{smp} if $conf->{smp}; # old style - no longer iused
+ $sockets = $conf->{sockets} if $conf->{sockets};
+
+ my $cores = $conf->{cores} || 1;
+ push @$cmd, '-smp', "sockets=$sockets,cores=$cores";
+
+ my $cpu = $nokvm ? "qemu64":"kvm64";
+ $cpu = $conf->{cpu} if $conf->{cpu};
+
+ push @$cpuFlags , '+x2apic' if !$nokvm;
+
+ push @$cmd, '-cpu', $cpu.",".join(',', @$cpuFlags);
+
push @$cmd, '-S' if $conf->{freeze};
# set keyboard layout
--
1.7.10.4
More information about the pve-devel
mailing list