From: Pierre Morel <pmorel@linux.ibm.com>
To: Thomas Huth <thuth@redhat.com>, qemu-s390x@nongnu.org, david@redhat.com
Cc: qemu-devel@nongnu.org, borntraeger@de.ibm.com,
pasic@linux.ibm.com, richard.henderson@linaro.org,
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, scgl@linux.ibm.com,
frankja@linux.ibm.com, berrange@redhat.com, clg@kaod.org
Subject: Re: [PATCH v12 6/7] s390x/cpu_topology: activating CPU topology
Date: Mon, 5 Dec 2022 14:29:52 +0100 [thread overview]
Message-ID: <61ecb690-73f5-6ff8-6ca7-c0d2a0eeafb2@linux.ibm.com> (raw)
In-Reply-To: <2c65f234-688a-796b-b451-e1661b2c07a4@redhat.com>
On 12/2/22 15:26, Thomas Huth wrote:
> On 02/12/2022 15.08, Pierre Morel wrote:
>>
>>
>> On 12/2/22 10:05, Thomas Huth wrote:
>>> On 01/12/2022 12.52, Pierre Morel wrote:
>>>>
>>>>
>>>> On 12/1/22 11:15, Thomas Huth wrote:
>>>>> On 29/11/2022 18.42, Pierre Morel wrote:
>>>>>> The KVM capability, KVM_CAP_S390_CPU_TOPOLOGY is used to
>>>>>> activate the S390_FEAT_CONFIGURATION_TOPOLOGY feature and
>>>>>> the topology facility for the guest in the case the topology
>>>>>> is available in QEMU and in KVM.
>>>>>>
>>>>>> The feature is fenced for SE (secure execution).
>>>>>
>>>>> Out of curiosity: Why does it not work yet?
>>>>>
>>>>>> To allow smooth migration with old QEMU the feature is disabled by
>>>>>> default using the CPU flag -disable-topology.
>>>>>
>>>>> I stared at this code for a while now, but I have to admit that I
>>>>> don't quite get it. Why do we need a new "disable" feature flag
>>>>> here? I think it is pretty much impossible to set "ctop=on" with an
>>>>> older version of QEMU, since it would require the QEMU to enable
>>>>> KVM_CAP_S390_CPU_TOPOLOGY in the kernel for this feature bit - and
>>>>> older versions of QEMU don't set this capability yet.
>>>>>
>>>>> Which scenario would fail without this disable-topology feature
>>>>> bit? What do I miss?
>>>>
>>>> The only scenario it provides is that ctop is then disabled by
>>>> default on newer QEMU allowing migration between old and new QEMU
>>>> for older machine without changing the CPU flags.
>>>>
>>>> Otherwise, we would need -ctop=off on newer QEMU to disable the
>>>> topology.
>>>
>>> Ah, it's because you added S390_FEAT_CONFIGURATION_TOPOLOGY to the
>>> default feature set here:
>>>
>>> static uint16_t default_GEN10_GA1[] = {
>>> S390_FEAT_EDAT,
>>> S390_FEAT_GROUP_MSA_EXT_2,
>>> + S390_FEAT_DISABLE_CPU_TOPOLOGY,
>>> + S390_FEAT_CONFIGURATION_TOPOLOGY,
>>> };
>>>
>>> ?
>>>
>>> But what sense does it make to enable it by default, just to disable
>>> it by default again with the S390_FEAT_DISABLE_CPU_TOPOLOGY feature?
>>> ... sorry, I still don't quite get it, but maybe it's because my
>>> sinuses are quite clogged due to a bad cold ... so if you could
>>> elaborate again, that would be very appreciated!
>>>
>>> However, looking at this from a distance, I would not rather not add
>>> this to any default older CPU model at all (since it also depends on
>>> the kernel to have this feature enabled)? Enabling it in the host
>>> model is still ok, since the host model is not migration safe anyway.
>>>
>>> Thomas
>>>
>>
>> I think I did not understand what is exactly the request that was made
>> about having a CPU flag to disable the topology when we decide to not
>> have a new machine with new machine property.
>>
>> Let see what we have if the only change to mainline is to activate
>> S390_FEAT_CONFIGURATION_TOPOLOGY with the KVM capability:
>>
>> In mainline, ctop is enabled in the full GEN10 only.
>>
>> Consequently we have this feature activated by default for the host
>> model only and deactivated by default if we specify the CPU.
>> It can be activated if we specify the CPU with the flag ctop=on.
>>
>> This is what was in the patch series before the beginning of the
>> discussion about having a new machine property for new machines.
>
> Sorry for all the mess ... I'm also not an expert when it comes to CPU
> model features paired with compatibility and migration, and I'm still in
> progress of learning ...
>
>> If this what we want: activating the topology by the CPU flag ctop=on
>> it is perfect for me and I can take the original patch.
>> We may later make it a default for new machines.
>
> Given my current understanding, I think it's the best thing to do right
> now. Not enable it by default, except for the host model where the
> enablement is fine since migration is not supported any.
>
> As you said, we could still decide later to change the default for new
> machines. Though, I recently learnt that features should also not be
> enable by default at all if they depend on the environment, like a Linux
> kernel that needs to have support for the feature. So maybe we should
> keep it off by default forever - or just enable it on new CPU models
> (>=z17?) that would require a new host kernel anyway.
>
> Thomas
>
OK, thanks, so I let it with a default as off and we change that later
in a new CPU model or a new machine as we will see what is the best fit.
Regards,
Pierre
--
Pierre Morel
IBM Lab Boeblingen
next prev parent reply other threads:[~2022-12-05 13:30 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-29 17:41 [PATCH v12 0/7] s390x: CPU Topology Pierre Morel
2022-11-29 17:42 ` [PATCH v12 1/7] s390x/cpu topology: Creating CPU topology device Pierre Morel
2022-12-01 9:08 ` Thomas Huth
2022-12-01 9:37 ` Pierre Morel
2022-12-06 9:31 ` Janis Schoetterl-Glausch
2022-12-06 10:32 ` Pierre Morel
2022-12-06 13:35 ` Janis Schoetterl-Glausch
2022-12-06 14:35 ` Pierre Morel
2022-12-06 21:06 ` Janis Schoetterl-Glausch
2022-12-07 10:00 ` Pierre Morel
2022-12-07 11:38 ` Janis Schoetterl-Glausch
2022-12-07 11:52 ` Pierre Morel
2022-11-29 17:42 ` [PATCH v12 2/7] s390x/cpu topology: reporting the CPU topology to the guest Pierre Morel
2022-12-06 9:48 ` Janis Schoetterl-Glausch
2022-12-06 10:38 ` Pierre Morel
2022-12-06 14:44 ` Pierre Morel
2022-12-07 9:12 ` Cédric Le Goater
2022-12-07 9:58 ` Pierre Morel
2022-11-29 17:42 ` [PATCH v12 3/7] s390x/cpu_topology: resetting the Topology-Change-Report Pierre Morel
2022-12-06 9:50 ` Janis Schoetterl-Glausch
2022-12-06 11:51 ` Pierre Morel
2022-11-29 17:42 ` [PATCH v12 4/7] s390x/cpu_topology: CPU topology migration Pierre Morel
2022-11-29 17:42 ` [PATCH v12 5/7] s390x/cpu_topology: interception of PTF instruction Pierre Morel
2022-11-29 17:42 ` [PATCH v12 6/7] s390x/cpu_topology: activating CPU topology Pierre Morel
2022-12-01 10:15 ` Thomas Huth
2022-12-01 11:52 ` Pierre Morel
2022-12-02 9:05 ` Thomas Huth
2022-12-02 14:08 ` Pierre Morel
2022-12-02 14:26 ` Thomas Huth
2022-12-05 13:29 ` Pierre Morel [this message]
2022-11-29 17:42 ` [PATCH v12 7/7] docs/s390x: document s390x cpu topology Pierre Morel
2022-12-01 8:45 ` [PATCH v12 0/7] s390x: CPU Topology Cédric Le Goater
2022-12-01 13:23 ` 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=61ecb690-73f5-6ff8-6ca7-c0d2a0eeafb2@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=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=scgl@linux.ibm.com \
--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).