From: Anthony Liguori Date: Mon, 6 Jun 2011 13:25:06 +0000 (-0500) Subject: Fix regression introduced by -machine accel= X-Git-Tag: v0.15.0-rc0~212 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a16c53b101a9897b0b2be96a1bb3bde7c04380f2;p=qemu-xen-4.3-testing.git Fix regression introduced by -machine accel= Commit 85097db6 changed the timing when kvm_allowed is set until after kvm is initialized. During initialization, the ioeventfd initialization code checks kvm_enabled() and after this change, ioeventfd is effectively disabled. This causes a significant regression in performance. Fix this by setting kvm_allowed before calling init. Reported-by: Khoa Huynh Signed-off-by: Anthony Liguori --- diff --git a/vl.c b/vl.c index b36287108..11f638610 100644 --- a/vl.c +++ b/vl.c @@ -1933,6 +1933,7 @@ static int configure_accelerator(void) p = get_opt_name(buf, sizeof (buf), p, ':'); for (i = 0; i < ARRAY_SIZE(accel_list); i++) { if (strcmp(accel_list[i].opt_name, buf) == 0) { + *(accel_list[i].allowed) = 1; ret = accel_list[i].init(); if (ret < 0) { init_failed = 1; @@ -1944,9 +1945,9 @@ static int configure_accelerator(void) accel_list[i].name, strerror(-ret)); } + *(accel_list[i].allowed) = 0; } else { accel_initalised = 1; - *(accel_list[i].allowed) = 1; } break; }