On 18/07/18 08:15, Geert Uytterhoeven wrote:
> Hi Sudeep,
> 
> On Tue, Jul 17, 2018 at 7:02 PM Sudeep Holla <[email protected]> wrote:
>> On Tue, Jul 17, 2018 at 04:55:22PM +0100, Sudeep Holla wrote:
>>> Going through the code again, I think I understand the problem here.
>>> We use the topology_core_mask pointers which are stashed in cpu_groups[]
>>> But, the cpumask themselves will be getting modified as the cpus go up
>>> and down, so we need to make a copy instead of just using the pointer.
>>> I will see what we can do to fix that.
>>
>> This is what I could come up with. I haven't tested this but just compiled
>> it. Let me know if this resolves the issue.
> 
> Thanks, it did!
> 
>> From: Sudeep Holla <[email protected]>
>> Date: Tue, 17 Jul 2018 17:45:20 +0100
>> Subject: [PATCH] drivers/firmware: psci_checker: stash and use 
>> topology_core_cpumask for hotplug tests
>>
>> Commit 7f9545aa1a91 ("arm64: smp: remove cpu and numa topology information
>> when hotplugging out CPU") updates the cpu topology when the CPU is
>> hotplugged out. However the PSCI checker code uses the topology_core_cpumask
>> pointers for some of the cpu hotplug testing. Since the pointer to the
>> core_cpumask of the first CPU in the group is used, which when that CPU
>> itself is hotpugged out is just set to itself, the testing terminates
>> after that particular CPU is tested out. But the intention of this tests
>> is to cover all the CPU in the group.
>>
>> In order to support that, we need to stash the topology_core_cpumask
>> before the start of the test and use that value instead of pointer to a
>> cpumask which will be updated on CPU hotplug.
>>
>> Reported-by: Geert Uytterhoeven <[email protected]>
>> Cc: Mark Rutland <[email protected]>
>> Cc: Lorenzo Pieralisi <[email protected]>
>> Signed-off-by: Sudeep Holla <[email protected]>
> 
> Fixes: 7f9545aa1a91a9a4 ("arm64: smp: remove cpu and numa topology
> information when hotplugging out CPU")
> Tested-by: Geert Uytterhoeven <[email protected]>
> 

Thanks, I will post the patch independently with small clean up to
reduce allocation of cpumask

-- 
Regards,
Sudeep

Reply via email to