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
next prev parent 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).