Re: [libvirt] [PATCH v2] kvm: warn if num cpus is greater than num recommended

Eric Blake
2013-08-28T01:30:00Z

[-- Attachment #1.1: Type: text/plain, Size: 1579 bytes --]

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?

--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]