From: Cornelia Huck <cohuck@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Pierre Morel" <pmorel@linux.ibm.com>,
"Pankaj Gupta" <pankaj.gupta.linux@gmail.com>,
qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
"Yanan Wang" <wangyanan55@huawei.com>,
wanghaibin.wang@huawei.com, yuzenghui@huawei.com,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH for-6.1 0/1] machine: Disallow specifying topology parameters as zero
Date: Thu, 22 Jul 2021 15:48:52 +0200 [thread overview]
Message-ID: <87eebq792z.fsf@redhat.com> (raw)
In-Reply-To: <20210722133759.db2kjcoucf6rsz4o@gator>
On Thu, Jul 22 2021, Andrew Jones <drjones@redhat.com> wrote:
> On Thu, Jul 22, 2021 at 08:02:16AM +0200, Cornelia Huck wrote:
>> On Thu, Jul 22 2021, Yanan Wang <wangyanan55@huawei.com> wrote:
>>
>> > In the SMP configuration, we should either specify a topology
>> > parameter with a reasonable value (equal to or greater than 1)
>> > or just leave it omitted and QEMU will calculate its value.
>> > Configurations which explicitly specify the topology parameters
>> > as zero like "sockets=0" are meaningless, so disallow them.
>> >
>> > However; the commit 1e63fe685804d
>> > (machine: pass QAPI struct to mc->smp_parse) has documented that
>> > '0' has the same semantics as omitting a parameter in the qapi
>> > comment for SMPConfiguration. So this patch fixes the doc and
>> > also adds the corresponding sanity check in the smp parsers.
>>
>> Are we expecting any real users to have used that 'parameter=0'
>> behaviour? I expect that libvirt and other management software already
>> did the right thing; unfortunately, sometimes weird configuration lines
>> tend to persist in search results.
>
> I understand this concern. I think the only documentation we had prior to
> commit 1e63fe685804 was
>
> DEF("smp", HAS_ARG, QEMU_OPTION_smp,
> "-smp [cpus=]n[,maxcpus=cpus][,cores=cores][,threads=threads][,dies=dies][,sockets=sockets]\n"
> " set the number of CPUs to 'n' [default=1]\n"
> " maxcpus= maximum number of total cpus, including\n"
> " offline CPUs for hotplug, etc\n"
> " cores= number of CPU cores on one socket (for PC, it's on one die)\n"
> " threads= number of threads on one CPU core\n"
> " dies= number of CPU dies on one socket (for PC only)\n"
> " sockets= number of discrete sockets in the system\n",
> QEMU_ARCH_ALL)
> SRST
> ``-smp [cpus=]n[,cores=cores][,threads=threads][,dies=dies][,sockets=sockets][,maxcpus=maxcpus]``
> Simulate an SMP system with n CPUs. On the PC target, up to 255 CPUs
> are supported. On Sparc32 target, Linux limits the number of usable
> CPUs to 4. For the PC target, the number of cores per die, the
> number of threads per cores, the number of dies per packages and the
> total number of sockets can be specified. Missing values will be
> computed. If any on the three values is given, the total number of
> CPUs n can be omitted. maxcpus specifies the maximum number of
> hotpluggable CPUs.
> ERST
>
> This doesn't mention zero inputs and even implies non-zero inputs.
Yes, hopefully that kept people away from using 0 magic, unless they
read the code.
>
> I'm not sure if we need to worry about the odd command line that used zero
> for some parameters. What do you think?
I did a cursory search for bad examples, and nothing popped up. So this
should be reasonably painless.
next prev parent reply other threads:[~2021-07-22 13:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-22 2:15 [PATCH for-6.1 0/1] machine: Disallow specifying topology parameters as zero Yanan Wang
2021-07-22 2:15 ` [PATCH for-6.1 1/1] " Yanan Wang
2021-07-22 6:02 ` [PATCH for-6.1 0/1] " Cornelia Huck
2021-07-22 10:59 ` wangyanan (Y)
2021-07-22 13:37 ` Andrew Jones
2021-07-22 13:48 ` Cornelia Huck [this message]
2021-07-22 13:55 ` Paolo Bonzini
2021-07-22 14:12 ` wangyanan (Y)
2021-07-22 14:38 ` Paolo Bonzini
2021-07-22 15:00 ` wangyanan (Y)
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=87eebq792z.fsf@redhat.com \
--to=cohuck@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=drjones@redhat.com \
--cc=ehabkost@redhat.com \
--cc=pankaj.gupta.linux@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=pmorel@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=wanghaibin.wang@huawei.com \
--cc=wangyanan55@huawei.com \
--cc=yuzenghui@huawei.com \
/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).