qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Pierre Morel <pmorel@linux.ibm.com>
To: Thomas Huth <thuth@redhat.com>, qemu-s390x@nongnu.org
Cc: qemu-devel@nongnu.org, borntraeger@de.ibm.com,
	pasic@linux.ibm.com, richard.henderson@linaro.org,
	david@redhat.com, cohuck@redhat.com, mst@redhat.com,
	pbonzini@redhat.com, kvm@vger.kernel.org, ehabkost@redhat.com,
	marcel.apfelbaum@gmail.com, eblake@redhat.com, armbru@redhat.com,
	seiden@linux.ibm.com, nrb@linux.ibm.com, nsg@linux.ibm.com,
	frankja@linux.ibm.com, berrange@redhat.com, clg@kaod.org
Subject: Re: [PATCH v20 02/21] s390x/cpu topology: add topology entries on CPU hotplug
Date: Fri, 28 Apr 2023 14:35:22 +0200	[thread overview]
Message-ID: <e233756c-52f6-547c-4c06-708459a98075@linux.ibm.com> (raw)
In-Reply-To: <1a919123-f07b-572e-8a33-0e5f9a6ed75c@redhat.com>


On 4/27/23 15:38, Thomas Huth wrote:
> On 25/04/2023 18.14, Pierre Morel wrote:
>> The topology information are attributes of the CPU and are
>> specified during the CPU device creation.
>>
>> On hot plug we:
>> - calculate the default values for the topology for drawers,
>>    books and sockets in the case they are not specified.
>> - verify the CPU attributes
>> - check that we have still room on the desired socket
>>
>> The possibility to insert a CPU in a mask is dependent on the
>> number of cores allowed in a socket, a book or a drawer, the
>> checking is done during the hot plug of the CPU to have an
>> immediate answer.
>>
>> If the complete topology is not specified, the core is added
>> in the physical topology based on its core ID and it gets
>> defaults values for the modifier attributes.
>>
>> This way, starting QEMU without specifying the topology can
>> still get some advantage of the CPU topology.
>>
>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>> ---
> ...
>> diff --git a/hw/s390x/cpu-topology.c b/hw/s390x/cpu-topology.c
>> new file mode 100644
>> index 0000000000..471e0e7292
>> --- /dev/null
>> +++ b/hw/s390x/cpu-topology.c
>> @@ -0,0 +1,259 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * CPU Topology
>
> Since you later introduce a file with almost the same name in the 
> target/s390x/ folder, it would be fine to have some more explanation 
> here what this file is all about (especially with regards to the other 
> file in target/s390x/).


I first did put the interceptions in target/s390/ then moved them in 
target/s390x/kvm because it is KVM related then again only let STSI 
interception.

But to be honest I do not see any reason why not put everything in 
hw/s390x/ if CPU topology is implemented for TCG I think the code will 
call insert_stsi_15_1_x() too.

no?


>
>> + *
>> + * Copyright IBM Corp. 2022,2023
>> + * Author(s): Pierre Morel <pmorel@linux.ibm.com>
>> + *
>> + */
>> +
>> +#include "qemu/osdep.h"
>> +#include "qapi/error.h"
>> +#include "qemu/error-report.h"
>> +#include "hw/qdev-properties.h"
>> +#include "hw/boards.h"
>> +#include "qemu/typedefs.h"
>
> qemu/typedefs.h is already included by osdep.h by default, no need to 
> re-include it here.


OK , I remove it

>
>> +#include "target/s390x/cpu.h"
>> +#include "hw/s390x/s390-virtio-ccw.h"
>> +#include "hw/s390x/cpu-topology.h"
> ...> +
>> +/**
>> + * s390_topology_setup_cpu:
>> + * @ms: MachineState used to initialize the topology structure on
>> + *      first call.
>> + * @cpu: the new S390CPU to insert in the topology structure
>> + * @errp: the error pointer
>> + *
>> + * Called from CPU Hotplug to check and setup the CPU attributes
>
> s/Hotplug/hotplug/

yes


>
>> + * before the CPU is inserted in the topology.
>> + * There is no need to update the MTCR explicitely here because it
>
> s/explicitely/explicitly/

thanx


>
>> + * will be updated by KVM on creation of the new CPU.
>> + */
>> +void s390_topology_setup_cpu(MachineState *ms, S390CPU *cpu, Error 
>> **errp)
> ...
>
>  Thomas
>
>

Regards,

Pierre



  reply	other threads:[~2023-04-28 12:52 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-25 16:14 [PATCH v20 00/21] s390x: CPU Topology Pierre Morel
2023-04-25 16:14 ` [PATCH v20 01/21] s390x/cpu topology: add s390 specifics to CPU topology Pierre Morel
2023-04-27  8:04   ` Thomas Huth
2023-04-28 12:27     ` Pierre Morel
2023-05-03  9:36     ` Pierre Morel
2023-05-03  9:54       ` Thomas Huth
2023-05-03 11:17     ` Pierre Morel
2023-05-02 12:05   ` Cédric Le Goater
2023-05-02 13:48     ` Cédric Le Goater
2023-05-03  7:23       ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 02/21] s390x/cpu topology: add topology entries on CPU hotplug Pierre Morel
2023-04-27 13:38   ` Thomas Huth
2023-04-28 12:35     ` Pierre Morel [this message]
2023-05-03  9:12       ` Thomas Huth
2023-05-03 10:23         ` Cédric Le Goater
2023-06-21 13:48           ` Pierre Morel
2023-05-02 12:30   ` Cédric Le Goater
2023-05-03  7:21     ` Pierre Morel
2023-05-03 11:23       ` Cédric Le Goater
2023-04-25 16:14 ` [PATCH v20 03/21] target/s390x/cpu topology: handle STSI(15) and build the SYSIB Pierre Morel
2023-04-27 17:01   ` Thomas Huth
2023-04-28 12:42     ` Pierre Morel
2023-05-02 17:22   ` Nina Schoetterl-Glausch
2023-05-03  8:43     ` Pierre Morel
2023-05-03 13:01       ` Nina Schoetterl-Glausch
2023-04-25 16:14 ` [PATCH v20 04/21] s390x/sclp: reporting the maximum nested topology entries Pierre Morel
2023-04-25 16:14 ` [PATCH v20 05/21] s390x/cpu topology: resetting the Topology-Change-Report Pierre Morel
2023-04-25 16:14 ` [PATCH v20 06/21] s390x/cpu topology: interception of PTF instruction Pierre Morel
2023-05-04 11:03   ` Nina Schoetterl-Glausch
2023-05-05  9:34     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 07/21] target/s390x/cpu topology: activate CPU topology Pierre Morel
2023-04-25 16:14 ` [PATCH v20 08/21] qapi/s390x/cpu topology: set-cpu-topology qmp command Pierre Morel
2023-05-08 19:42   ` Nina Schoetterl-Glausch
2023-05-09  8:50     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 09/21] machine: adding s390 topology to query-cpu-fast Pierre Morel
2023-06-12  7:55   ` Cédric Le Goater
2023-06-21 12:50     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 10/21] machine: adding s390 topology to info hotpluggable-cpus Pierre Morel
2023-05-08 19:49   ` Nina Schoetterl-Glausch
2023-05-09  8:40     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 11/21] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE qapi event Pierre Morel
2023-05-08 21:47   ` Nina Schoetterl-Glausch
2023-05-09 12:31     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 12/21] qapi/s390x/cpu topology: query-cpu-polarization qmp command Pierre Morel
2023-05-10 12:04   ` Nina Schoetterl-Glausch
2023-05-12 11:56     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 13/21] docs/s390x/cpu topology: document s390x cpu topology Pierre Morel
2023-04-25 16:14 ` [PATCH v20 14/21] tests/avocado: s390x cpu topology core Pierre Morel
2023-05-22 19:38   ` Nina Schoetterl-Glausch
2023-06-27 11:58     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 15/21] tests/avocado: s390x cpu topology polarisation Pierre Morel
2023-05-22 19:45   ` Nina Schoetterl-Glausch
2023-06-27 13:01     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 16/21] tests/avocado: s390x cpu topology entitlement tests Pierre Morel
2023-05-22 19:47   ` Nina Schoetterl-Glausch
2023-06-27 13:22     ` Pierre Morel
2023-04-25 16:14 ` [PATCH v20 17/21] tests/avocado: s390x cpu topology test dedicated CPU Pierre Morel
2023-04-25 16:14 ` [PATCH v20 18/21] tests/avocado: s390x cpu topology test socket full Pierre Morel
2023-04-25 16:14 ` [PATCH v20 19/21] tests/avocado: s390x cpu topology dedicated errors Pierre Morel
2023-04-25 16:14 ` [PATCH v20 20/21] tests/avocado: s390x cpu topology bad move Pierre Morel
2023-04-25 16:14 ` [PATCH v20 21/21] tests/avocado: s390x cpu topology query-cpu-polarization Pierre Morel

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=e233756c-52f6-547c-4c06-708459a98075@linux.ibm.com \
    --to=pmorel@linux.ibm.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=clg@kaod.org \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=nrb@linux.ibm.com \
    --cc=nsg@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=seiden@linux.ibm.com \
    --cc=thuth@redhat.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).