From: Andrew Jones <drjones@redhat.com>
To: Cornelia Huck <cohuck@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:37:59 +0200 [thread overview]
Message-ID: <20210722133759.db2kjcoucf6rsz4o@gator> (raw)
In-Reply-To: <87y29y7uon.fsf@redhat.com>
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.
I'm not sure if we need to worry about the odd command line that used zero
for some parameters. What do you think?
Thanks,
drew
>
> >
> > This patch originly comes form [1], and it was suggested that
> > this patch fixing the doc should be sent for 6.1 to avoid a
> > deprecation process in the future.
> >
> > [1] https://lore.kernel.org/qemu-devel/YPWsThPiZa3mF+zp@redhat.com/
> >
> > Yanan Wang (1):
> > machine: Disallow specifying topology parameters as zero
> >
> > hw/core/machine.c | 30 ++++++++++++++++++++++--------
> > hw/i386/pc.c | 33 ++++++++++++++++++++++++---------
> > qapi/machine.json | 6 +++---
> > 3 files changed; 49 insertions(+); 20 deletions(-)
>
next prev parent reply other threads:[~2021-07-22 13:39 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 [this message]
2021-07-22 13:48 ` Cornelia Huck
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=20210722133759.db2kjcoucf6rsz4o@gator \
--to=drjones@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=cohuck@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).