From: Andrew Jones <drjones@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: ehabkost@redhat.com, kvm@vger.kernel.org, libvir-list@redhat.com,
mtosatti@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com,
afaerber@suse.de
Subject: Re: [Qemu-devel] [libvirt] [PATCH v2] kvm: warn if num cpus is greater than num recommended
Date: Wed, 28 Aug 2013 03:45:22 -0400 (EDT) [thread overview]
Message-ID: <1172443315.2448865.1377675922559.JavaMail.root@redhat.com> (raw)
In-Reply-To: <521D5298.9050504@redhat.com>
----- Original Message -----
> On 08/23/2013 07:24 AM, Andrew Jones wrote:
> > The comment in kvm_max_vcpus() states that it's using the recommended
> > procedure from the kernel API documentation to get the max number
> > of vcpus that kvm supports. It is, but by always returning the
> > maximum number supported. The maximum number should only be used
> > for development purposes. qemu should check KVM_CAP_NR_VCPUS for
> > the recommended number of vcpus. This patch adds a warning if a user
> > specifies a number of cpus between the recommended and max.
> >
> > v2:
> > Incorporate tests for max_cpus, which specifies the maximum number
> > of hotpluggable cpus. An additional note is that the message for
> > the fail case was slightly changed, 'exceeds max cpus' to
> > 'exceeds the maximum cpus'. If this is unacceptable change for
> > users like libvirt, then I'll need to spin a v3.
>
> A quick grep of libvirt does not show any dependence on the particular
> wording "exceeds max cpus", so you are probably fine changing that.
>
> What I'm more worried about is what number is libvirt supposed to show
> to the end user, and should libvirt enforce the lower recommended max,
> or the larger kernel absolute max? Which of the two values does the QMP
> 'MachineInfo' type return in its 'cpu-max' field during the
> 'query-machines' command? Should we be modifying QMP to return both
> values, so that libvirt can also expose the logic to the end user of
> allowing a recommended vs. larger development max?
>
Machine definitions maintain yet another 'max_cpus'. And it appears that
qmp would return that value. It would probably be best if it returned
max(qemu_machine.max_cpus, kvm_max_cpus) though.
I'm starting to think that we should just keep things simple for most of
the virt stack by sticking to enforcing the larger developer max. And
then on a production kernel we should just compile KVM_MAX_VCPUS =
KVM_SOFT_MAX_VCPUS and be done with it. With that thought, this patch
could be dropped too. The alternative seems to be supporting a run-time
selectable experimental mode throughout the whole virt stack.
drew
next prev parent reply other threads:[~2013-08-28 7:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-23 13:24 [Qemu-devel] [PATCH v2] kvm: warn if num cpus is greater than num recommended Andrew Jones
2013-08-28 1:30 ` [Qemu-devel] [libvirt] " Eric Blake
2013-08-28 7:45 ` Andrew Jones [this message]
2013-08-28 12:33 ` Eric Blake
2013-09-01 9:46 ` [Qemu-devel] " Gleb Natapov
2013-09-01 22:46 ` Marcelo Tosatti
2013-09-03 8:54 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1172443315.2448865.1377675922559.JavaMail.root@redhat.com \
--to=drjones@redhat.com \
--cc=afaerber@suse.de \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=libvir-list@redhat.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).