qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] hw/i386: Expand the range of CPU topologies between smp a


From: Daniel P . Berrangé
Subject: Re: [PATCH v2] hw/i386: Expand the range of CPU topologies between smp and maxcpus
Date: Tue, 27 Apr 2021 09:34:18 +0100
User-agent: Mutt/2.0.6 (2021-03-06)

On Tue, Apr 27, 2021 at 10:13:01AM +0800, Like Xu wrote:
> On 2021/4/26 21:30, Daniel P. Berrangé wrote:
> > On Mon, Apr 26, 2021 at 10:08:52AM +0800, caodongli@kingsoft.com wrote:
> > > Change the criteria for the initial CPU topology and maxcpus, user can
> > > have more settings
> > 
> > Can you provide a better explanation of why this is needed. What
> > valid usage scenario is blocked by the current check ?
> > 
> > AFAICT, it partially reverts an intentional change done in several
> > years ago in :
> > 
> > 
> >    commit bc1fb850a31468ac4976f3895f01a6d981e06d0a
> >    Author: Igor Mammedov <imammedo@redhat.com>
> >    Date:   Thu Sep 13 13:06:01 2018 +0200
> > 
> >      vl.c deprecate incorrect CPUs topology
> >      -smp [cpus],sockets/cores/threads[,maxcpus] should describe topology
> >      so that total number of logical CPUs [sockets * cores * threads]
> >      would be equal to [maxcpus], however historically we didn't have
> >      such check in QEMU and it is possible to start VM with an invalid
> >      topology.
> >      Deprecate invalid options combination so we can make sure that
> >      the topology VM started with is always correct in the future.
> >      Users with an invalid sockets/cores/threads/maxcpus values should
> >      fix their CLI to make sure that
> >         [sockets * cores * threads] == [maxcpus]
> > 
> > 
> 
> Another helpful commit would be:
> 
> commit c4332cd1dcf2964c23893ab4c0bf8d774e42a3cf
> Author: Igor Mammedov <imammedo@redhat.com>
> Date:   Fri Sep 11 09:32:02 2020 -0400
> 
>     smp: drop support for deprecated (invalid topologies)
> 
>     it's was deprecated since 3.1
> 
>     Support for invalid topologies is removed, the user must ensure
>     that topologies described with -smp include all possible cpus,
>     i.e. (sockets * cores * threads) == maxcpus or QEMU will
>     exit with error.
> 
> 
> So is the following statement correct:
> 
> When we explicitly set the topology, we must ensure that the combination
> (sockets/dies/cores/threads/maxcpus) is always valid. If we need hot plug
> testing, we can only use something like "-smp 1,maxcpus = 4" since 3.1.

Yes, you must set maxcpus if you want ability to hotplug further
CPUs later.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]