From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cyrill Gorcunov Subject: Re: [PATCH] kvm tools: Default guest cpu count to host cpu count Date: Thu, 19 May 2011 23:08:50 +0400 Message-ID: <4DD56AC2.9050702@gmail.com> References: <1305748584-9411-1-git-send-email-levinsasha928@gmail.com> <4DD569A7.6050608@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Sasha Levin , penberg@kernel.org, mingo@elte.hu, asias.hejun@gmail.com, prasadjoshi124@gmail.com, kvm@vger.kernel.org To: David Ahern Return-path: Received: from mail-fx0-f46.google.com ([209.85.161.46]:55061 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757098Ab1ESTIy (ORCPT ); Thu, 19 May 2011 15:08:54 -0400 Received: by fxm17 with SMTP id 17so2211811fxm.19 for ; Thu, 19 May 2011 12:08:53 -0700 (PDT) In-Reply-To: <4DD569A7.6050608@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: On 05/19/2011 11:04 PM, David Ahern wrote: > > On 05/18/11 13:56, Sasha Levin wrote: >> If user haven't specified cpu count for the guest, use >> the amount of online cpus on the host. >> >> Signed-off-by: Sasha Levin >> --- >> tools/kvm/kvm-run.c | 9 ++++++--- >> 1 files changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/tools/kvm/kvm-run.c b/tools/kvm/kvm-run.c >> index 63181bf..1517264 100644 >> --- a/tools/kvm/kvm-run.c >> +++ b/tools/kvm/kvm-run.c >> @@ -70,7 +70,7 @@ extern int active_console; >> >> bool do_debug_print = false; >> >> -static int nrcpus = 1; >> +static int nrcpus; >> >> static const char * const run_usage[] = { >> "kvm run [] []", >> @@ -409,6 +409,8 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) >> signal(SIGQUIT, handle_sigquit); >> signal(SIGUSR1, handle_sigusr1); >> >> + nr_online_cpus = sysconf(_SC_NPROCESSORS_ONLN); >> + >> while (argc != 0) { >> argc = parse_options(argc, argv, options, run_usage, >> PARSE_OPT_STOP_AT_NON_OPTION); >> @@ -439,7 +441,9 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) >> >> vmlinux_filename = find_vmlinux(); >> >> - if (nrcpus < 1 || nrcpus > KVM_NR_CPUS) >> + if (nrcpus == 0) >> + nrcpus = nr_online_cpus; >> + else if (nrcpus < 1 || nrcpus > KVM_NR_CPUS) >> die("Number of CPUs %d is out of [1;%d] range", nrcpus, KVM_NR_CPUS); > > What prevents nr_online_cpus from being greater than KVM_NR_CPUS? Since > that latter is a #define, might want to change 'else if' to if there. > > David > Good catch! We should add a constraint here and limit it to KVM_NR_CPUS. -- Cyrill