[PATCH v2] arch/arm64: Fix topology initialization for core scheduling

Phil Auld pauld at redhat.com
Thu Mar 31 07:53:44 PDT 2022


On Thu, Mar 31, 2022 at 04:37:50PM +0200 Dietmar Eggemann wrote:
> On 31/03/2022 15:21, Phil Auld wrote:
> > On Thu, Mar 31, 2022 at 11:04:31AM +0200 Dietmar Eggemann wrote:
> >> On 30/03/2022 17:56, Phil Auld wrote:
> 
> [...]
> 
> >> Ah, the reason is that smt_mask is not correctly setup, so we bail on
> >> `cpumask_weight(smt_mask) == 1` for !leaders in:
> >>
> >> notify_cpu_starting()
> >>   cpuhp_invoke_callback_range()
> >>     sched_cpu_starting()
> >>       sched_core_cpu_starting()
> >>
> >> which leads to rq->core not being correctly set for !leader-rq's.
> >>
> > 
> > Exactly, sorry I was not clearer.  smt_mask must be setup correctly 
> > by the time sched_core_cpu_starting() is called. (Maybe I should crib
> > some of the above lines into the commit message?)
> 
> Yeah, maybe, it wouldn't hurt I guess. IMHO mentioning stress-ng's prctl
> needs PR_SCHED_CORE support could also be handy since today's stress-ng
> packages don't seem to have this yet.
> 

My scripts clone it so I did not realize that was not in prepackaged versions
yet.  But that said, that's really just a way to tickle the problem. Anyone
using core scheduling on such a system will hit this (at least the WARN part,
the actual crash was harder to create w/o all the threads and tasks stress-ng
uses). 

I can send a v3 with a further commit message update.


Cheers,
Phil

-- 




More information about the linux-arm-kernel mailing list