From mboxrd@z Thu Jan 1 00:00:00 1970 From: Blue Swirl Subject: Re: [PATCH] kvm: Set default accelerator to "kvm" if the host supports it Date: Wed, 3 Oct 2012 20:01:44 +0000 Message-ID: References: <20120930191146.GA20012@amt.cnet> <50694EC1.8060006@siemens.com> <20121001093102.GA14797@amt.cnet> <50696E9E.7030302@siemens.com> <87zk468h3y.fsf@codemonkey.ws> <50699CDC.1010604@redhat.com> <87wqzap9ui.fsf@codemonkey.ws> <5069A9DF.4040606@siemens.com> <87wqza2mg6.fsf@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Jan Kiszka , Paolo Bonzini , Marcelo Tosatti , kvm , qemu-devel , Cole Robinson , Scott Moser , =?UTF-8?Q?Andreas_F=C3=A4rber?= , Michael Tokarev , Avi Kivity , Aurelien Jarno To: Anthony Liguori Return-path: Received: from mail-ie0-f174.google.com ([209.85.223.174]:59307 "EHLO mail-ie0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753067Ab2JCUCF (ORCPT ); Wed, 3 Oct 2012 16:02:05 -0400 Received: by ieak13 with SMTP id k13so18155102iea.19 for ; Wed, 03 Oct 2012 13:02:05 -0700 (PDT) In-Reply-To: <87wqza2mg6.fsf@codemonkey.ws> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Oct 1, 2012 at 4:20 PM, Anthony Liguori wrote: > Jan Kiszka writes: > >> If we built a target for a host that supports KVM in principle, set the >> default accelerator to KVM as well. This also means the start of QEMU >> will fail to start if KVM support turns out to be unavailable at >> runtime. >> >> Signed-off-by: Jan Kiszka >> --- >> kvm-all.c | 1 + >> kvm-stub.c | 1 + >> kvm.h | 1 + >> vl.c | 4 ++-- >> 4 files changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/kvm-all.c b/kvm-all.c >> index 92a7137..4d5f86c 100644 >> --- a/kvm-all.c >> +++ b/kvm-all.c >> @@ -103,6 +103,7 @@ struct KVMState >> #endif >> }; >> >> +bool kvm_configured = true; >> KVMState *kvm_state; >> bool kvm_kernel_irqchip; >> bool kvm_async_interrupts_allowed; >> diff --git a/kvm-stub.c b/kvm-stub.c >> index 3c52eb5..86a6451 100644 >> --- a/kvm-stub.c >> +++ b/kvm-stub.c >> @@ -17,6 +17,7 @@ >> #include "gdbstub.h" >> #include "kvm.h" >> >> +bool kvm_configured; >> KVMState *kvm_state; >> bool kvm_kernel_irqchip; >> bool kvm_async_interrupts_allowed; >> diff --git a/kvm.h b/kvm.h >> index dea2998..9936e5f 100644 >> --- a/kvm.h >> +++ b/kvm.h >> @@ -22,6 +22,7 @@ >> #include >> #endif >> >> +extern bool kvm_configured; >> extern int kvm_allowed; >> extern bool kvm_kernel_irqchip; >> extern bool kvm_async_interrupts_allowed; >> diff --git a/vl.c b/vl.c >> index 8d305ca..f557bd1 100644 >> --- a/vl.c >> +++ b/vl.c >> @@ -2215,8 +2215,8 @@ static int configure_accelerator(void) >> } >> >> if (p == NULL) { >> - /* Use the default "accelerator", tcg */ >> - p = "tcg"; >> + /* The default accelerator depends on the availability of KVM. */ >> + p = kvm_configured ? "kvm" : "tcg"; >> } > > How about making this an arch_init() function call and then using a #if > defined(KVM_CONFIG) in arch_init.c? > > I hate to introduce another global variable if we can avoid it... > > Otherwise: > > Acked-by: Anthony Liguori > > Blue/Aurelien, any objections? No, maybe a message could be printed that says that the default has changed, for a few releases. > > Regards, > > Anthony Liguori > >> >> while (!accel_initialised && *p != '\0') { >> -- >> 1.7.3.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJV90-0001Zk-Gx for qemu-devel@nongnu.org; Wed, 03 Oct 2012 16:02:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TJV8w-00063c-8E for qemu-devel@nongnu.org; Wed, 03 Oct 2012 16:02:10 -0400 Received: from mail-ie0-f173.google.com ([209.85.223.173]:58184) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJV8w-00063S-33 for qemu-devel@nongnu.org; Wed, 03 Oct 2012 16:02:06 -0400 Received: by iea17 with SMTP id 17so17075309iea.4 for ; Wed, 03 Oct 2012 13:02:05 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <87wqza2mg6.fsf@codemonkey.ws> References: <20120930191146.GA20012@amt.cnet> <50694EC1.8060006@siemens.com> <20121001093102.GA14797@amt.cnet> <50696E9E.7030302@siemens.com> <87zk468h3y.fsf@codemonkey.ws> <50699CDC.1010604@redhat.com> <87wqzap9ui.fsf@codemonkey.ws> <5069A9DF.4040606@siemens.com> <87wqza2mg6.fsf@codemonkey.ws> From: Blue Swirl Date: Wed, 3 Oct 2012 20:01:44 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH] kvm: Set default accelerator to "kvm" if the host supports it List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: kvm , Scott Moser , Jan Kiszka , Marcelo Tosatti , Michael Tokarev , qemu-devel , Avi Kivity , Cole Robinson , Paolo Bonzini , =?UTF-8?Q?Andreas_F=C3=A4rber?= , Aurelien Jarno On Mon, Oct 1, 2012 at 4:20 PM, Anthony Liguori wrote: > Jan Kiszka writes: > >> If we built a target for a host that supports KVM in principle, set the >> default accelerator to KVM as well. This also means the start of QEMU >> will fail to start if KVM support turns out to be unavailable at >> runtime. >> >> Signed-off-by: Jan Kiszka >> --- >> kvm-all.c | 1 + >> kvm-stub.c | 1 + >> kvm.h | 1 + >> vl.c | 4 ++-- >> 4 files changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/kvm-all.c b/kvm-all.c >> index 92a7137..4d5f86c 100644 >> --- a/kvm-all.c >> +++ b/kvm-all.c >> @@ -103,6 +103,7 @@ struct KVMState >> #endif >> }; >> >> +bool kvm_configured = true; >> KVMState *kvm_state; >> bool kvm_kernel_irqchip; >> bool kvm_async_interrupts_allowed; >> diff --git a/kvm-stub.c b/kvm-stub.c >> index 3c52eb5..86a6451 100644 >> --- a/kvm-stub.c >> +++ b/kvm-stub.c >> @@ -17,6 +17,7 @@ >> #include "gdbstub.h" >> #include "kvm.h" >> >> +bool kvm_configured; >> KVMState *kvm_state; >> bool kvm_kernel_irqchip; >> bool kvm_async_interrupts_allowed; >> diff --git a/kvm.h b/kvm.h >> index dea2998..9936e5f 100644 >> --- a/kvm.h >> +++ b/kvm.h >> @@ -22,6 +22,7 @@ >> #include >> #endif >> >> +extern bool kvm_configured; >> extern int kvm_allowed; >> extern bool kvm_kernel_irqchip; >> extern bool kvm_async_interrupts_allowed; >> diff --git a/vl.c b/vl.c >> index 8d305ca..f557bd1 100644 >> --- a/vl.c >> +++ b/vl.c >> @@ -2215,8 +2215,8 @@ static int configure_accelerator(void) >> } >> >> if (p == NULL) { >> - /* Use the default "accelerator", tcg */ >> - p = "tcg"; >> + /* The default accelerator depends on the availability of KVM. */ >> + p = kvm_configured ? "kvm" : "tcg"; >> } > > How about making this an arch_init() function call and then using a #if > defined(KVM_CONFIG) in arch_init.c? > > I hate to introduce another global variable if we can avoid it... > > Otherwise: > > Acked-by: Anthony Liguori > > Blue/Aurelien, any objections? No, maybe a message could be printed that says that the default has changed, for a few releases. > > Regards, > > Anthony Liguori > >> >> while (!accel_initialised && *p != '\0') { >> -- >> 1.7.3.4