qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Pierre Morel <pmorel@linux.vnet.ibm.com>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-s390x@nongnu.org
Subject: Re: [PULL 06/25] s390x/cpu topology: resetting the Topology-Change-Report
Date: Thu, 19 Oct 2023 21:32:24 +0200	[thread overview]
Message-ID: <1fb044ef-2d63-4101-bc65-80133e9f7c5a@redhat.com> (raw)
In-Reply-To: <991f3195f7e4e3989e43e45e9e1910cda410c444.camel@linux.ibm.com>

On 19/10/2023 19.55, Nina Schoetterl-Glausch wrote:
> On Thu, 2023-10-19 at 09:35 -0700, Stefan Hajnoczi wrote:
>> On Wed, 18 Oct 2023 at 06:09, Thomas Huth <thuth@redhat.com> wrote:
>>>
>>> From: Pierre Morel <pmorel@linux.ibm.com>
>>>
>>> During a subsystem reset the Topology-Change-Report is cleared
>>> by the machine.
>>> Let's ask KVM to clear the Modified Topology Change Report (MTCR)
>>> bit of the SCA in the case of a subsystem reset.
>>>
>>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
>>> Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
>>> Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
>>> Message-ID: <20231016183925.2384704-7-nsg@linux.ibm.com>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>   include/hw/s390x/cpu-topology.h |  1 +
>>>   target/s390x/cpu.h              |  1 +
>>>   target/s390x/kvm/kvm_s390x.h    |  1 +
>>>   hw/s390x/cpu-topology.c         | 11 +++++++++++
>>>   hw/s390x/s390-virtio-ccw.c      |  3 +++
>>>   target/s390x/cpu-sysemu.c       | 13 +++++++++++++
>>>   target/s390x/kvm/kvm.c          | 17 +++++++++++++++++
>>>   7 files changed, 47 insertions(+)
>>>
>>> diff --git a/include/hw/s390x/cpu-topology.h b/include/hw/s390x/cpu-topology.h
>>> index f95d26d37c..e33e7c66df 100644
>>> --- a/include/hw/s390x/cpu-topology.h
>>> +++ b/include/hw/s390x/cpu-topology.h
>>> @@ -56,6 +56,7 @@ static inline void s390_topology_setup_cpu(MachineState *ms,
>>>   #endif
>>>
>>>   extern S390Topology s390_topology;
>>> +void s390_topology_reset(void);
>>
>> Please take a look at the following CI failure:
>>
>> /usr/bin/ld: libqemu-s390x-softmmu.fa.p/hw_s390x_s390-virtio-ccw.c.o:
>> in function `subsystem_reset':
>> /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/build/../hw/s390x/s390-virtio-ccw.c:128:
>> undefined reference to `s390_topology_reset'
>>
>> https://gitlab.com/qemu-project/qemu/-/jobs/5330218593
> 
> I can replicate this with --disable-kvm, tho I don't think that's what the CI does.

I think that was the wrong CI job that Stefan linked. It rather seemed to 
happen here:

  https://gitlab.com/qemu-project/qemu/-/jobs/5329820093#L5564

That job uses --enable-debug which turns off optimization, i.e. that was 
likely causing some code to be included that normally gets optimized away.

> Fix looks something like this (copy pasted):
> 
> --- a/include/hw/s390x/cpu-topology.h
> +++ b/include/hw/s390x/cpu-topology.h
> @@ -45,6 +45,7 @@ typedef QTAILQ_HEAD(, S390TopologyEntry) S390TopologyList;
>   #ifdef CONFIG_KVM
>   bool s390_has_topology(void);
>   void s390_topology_setup_cpu(MachineState *ms, S390CPU *cpu, Error **errp);
> +void s390_topology_reset(void);
>   #else
>   static inline bool s390_has_topology(void)
>   {
> @@ -53,10 +54,14 @@ static inline bool s390_has_topology(void)
>   static inline void s390_topology_setup_cpu(MachineState *ms,
>                                              S390CPU *cpu,
>                                              Error **errp) {}
> +static inline void s390_topology_reset(void)
> +{
> +    /* Unreachable, CPU topology not implemented for TCG */
> +    assert(false);
> +}
>   #endif
> 
>   extern S390Topology s390_topology;
> -void s390_topology_reset(void);
> 
>   static inline int s390_std_socket(int n, CpuTopology *smp)
>   {

Thanks, that seems to fix the issue with --enable-debug, too.
I'll squash that into the related patch (also fixing the indentation in 
s390_has_topology()) and respin the pull request.

  Thomas



  reply	other threads:[~2023-10-19 19:33 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-18 13:06 [PULL 00/25] s390x patches Thomas Huth
2023-10-18 13:06 ` [PULL 01/25] qapi: machine.json: change docs regarding CPU topology Thomas Huth
2023-10-18 13:06 ` [PULL 02/25] CPU topology: extend with s390 specifics Thomas Huth
2023-10-18 13:06 ` [PULL 03/25] s390x/cpu topology: add topology entries on CPU hotplug Thomas Huth
2023-10-19 17:57   ` Nina Schoetterl-Glausch
2023-10-18 13:06 ` [PULL 04/25] target/s390x/cpu topology: handle STSI(15) and build the SYSIB Thomas Huth
2023-10-18 13:06 ` [PULL 05/25] s390x/sclp: reporting the maximum nested topology entries Thomas Huth
2023-10-18 13:06 ` [PULL 06/25] s390x/cpu topology: resetting the Topology-Change-Report Thomas Huth
2023-10-19 16:35   ` Stefan Hajnoczi
2023-10-19 17:55     ` Nina Schoetterl-Glausch
2023-10-19 19:32       ` Thomas Huth [this message]
2023-10-20  9:26         ` Nina Schoetterl-Glausch
2023-10-18 13:06 ` [PULL 07/25] s390x/cpu topology: interception of PTF instruction Thomas Huth
2023-10-18 13:06 ` [PULL 08/25] target/s390x/cpu topology: activate CPU topology Thomas Huth
2023-10-18 13:07 ` [PULL 09/25] qapi/s390x/cpu topology: set-cpu-topology qmp command Thomas Huth
2023-10-18 13:07 ` [PULL 10/25] machine: adding s390 topology to query-cpu-fast Thomas Huth
2023-10-18 13:07 ` [PULL 11/25] machine: adding s390 topology to info hotpluggable-cpus Thomas Huth
2023-10-18 13:07 ` [PULL 12/25] qapi/s390x/cpu topology: CPU_POLARIZATION_CHANGE QAPI event Thomas Huth
2023-10-18 13:07 ` [PULL 13/25] qapi/s390x/cpu topology: add query-s390x-cpu-polarization command Thomas Huth
2023-10-18 13:07 ` [PULL 14/25] docs/s390x/cpu topology: document s390x cpu topology Thomas Huth
2023-10-18 13:07 ` [PULL 15/25] tests/avocado: s390x cpu topology core Thomas Huth
2023-10-18 13:07 ` [PULL 16/25] tests/avocado: s390x cpu topology polarization Thomas Huth
2023-10-18 13:07 ` [PULL 17/25] tests/avocado: s390x cpu topology entitlement tests Thomas Huth
2023-10-18 13:07 ` [PULL 18/25] tests/avocado: s390x cpu topology test dedicated CPU Thomas Huth
2023-10-18 13:07 ` [PULL 19/25] tests/avocado: s390x cpu topology test socket full Thomas Huth
2023-10-18 13:07 ` [PULL 20/25] tests/avocado: s390x cpu topology dedicated errors Thomas Huth
2023-10-18 13:07 ` [PULL 21/25] tests/avocado: s390x cpu topology bad move Thomas Huth
2023-10-18 13:07 ` [PULL 22/25] hw/s390x: Clean up global variable shadowing in quiesce_powerdown_req() Thomas Huth
2023-10-18 13:07 ` [PULL 23/25] target/s390x/kvm: Turn KVM_CAP_SYNC_REGS into a hard requirement Thomas Huth
2023-10-18 13:07 ` [PULL 24/25] target/s390x/kvm: Simplify the GPRs, ACRs, CRs and prefix synchronization code Thomas Huth
2023-10-18 13:07 ` [PULL 25/25] tests/qtest/migration-test: Disable the analyze-migration.py test on s390x Thomas Huth

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=1fb044ef-2d63-4101-bc65-80133e9f7c5a@redhat.com \
    --to=thuth@redhat.com \
    --cc=nsg@linux.ibm.com \
    --cc=pmorel@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@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).