[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a9a236c0-d248-6be5-883b-c21744d106ea@linux.ibm.com>
Date: Tue, 3 Aug 2021 11:28:56 +0200
From: Pierre Morel <pmorel@...ux.ibm.com>
To: Heiko Carstens <hca@...ux.ibm.com>
Cc: kvm@...r.kernel.org, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org, borntraeger@...ibm.com,
frankja@...ux.ibm.com, cohuck@...hat.com, david@...hat.com,
thuth@...hat.com, imbrenda@...ux.ibm.com, gor@...ux.ibm.com
Subject: Re: [PATCH v3 3/3] s390x: optimization of the check for CPU topology
change
On 8/3/21 10:57 AM, Pierre Morel wrote:
>
>
> On 8/3/21 10:42 AM, Heiko Carstens wrote:
>> On Tue, Aug 03, 2021 at 10:26:46AM +0200, Pierre Morel wrote:
>>> Now that the PTF instruction is interpreted by the SIE we can optimize
>>> the arch_update_cpu_topology callback to check if there is a real need
>>> to update the topology by using the PTF instruction.
>>>
>>> Signed-off-by: Pierre Morel <pmorel@...ux.ibm.com>
>>> ---
>>> arch/s390/kernel/topology.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c
>>> index 26aa2614ee35..741cb447e78e 100644
>>> --- a/arch/s390/kernel/topology.c
>>> +++ b/arch/s390/kernel/topology.c
>>> @@ -322,6 +322,9 @@ int arch_update_cpu_topology(void)
>>> struct device *dev;
>>> int cpu, rc;
>>> + if (!ptf(PTF_CHECK))
>>> + return 0;
>>> +
>>
>> We have a timer which checks if topology changed and then triggers a
>> call to arch_update_cpu_topology() via rebuild_sched_domains().
>> With this change topology changes would get lost.
>
> For my understanding, if PTF check return 0 it means that there are no
> topology changes.
> So they could not get lost.
>
> What did I miss?
>
>
I missed that PTF clears the MCTR... and only one of the two calls will
return 1 while we need both to return 1...
--
Pierre Morel
IBM Lab Boeblingen
Powered by blists - more mailing lists