Messages in this thread | | | Date | Thu, 9 Apr 2020 10:59:41 +0100 | From | Sudeep Holla <> | Subject | Re: [PATCH] sched/arm64: store cpu topology before notify_cpu_starting |
| |
On Wed, Apr 01, 2020 at 02:23:33PM +0100, Valentin Schneider wrote: > > (+LAKML, +Sudeep) >
Thanks Valentin.
> On Wed, Apr 01 2020, Cheng Jian wrote: > > when SCHED_CORE enabled, sched_cpu_starting() uses thread_sibling as > > SMT_MASK to initialize rq->core, but only after store_cpu_topology(), > > the thread_sibling is ready for use. > > > > notify_cpu_starting() > > -> sched_cpu_starting() # use thread_sibling > > > > store_cpu_topology(cpu) > > -> update_siblings_masks # set thread_sibling > > > > Fix this by doing notify_cpu_starting later, just like x86 do. > > > > I haven't been following the sched core stuff closely; can't this > rq->core assignment be done in sched_cpu_activate() instead? We already > look at the cpu_smt_mask() in there, and it is valid (we go through the > entirety of secondary_start_kernel() before getting anywhere near > CPUHP_AP_ACTIVE). >
I too came to same conclusion. Did you see any issues ? Or is it just code inspection in parity with x86 ?
> I don't think this breaks anything, but without this dependency in > sched_cpu_starting() then there isn't really a reason for this move. >
Based on the commit message, had a quick look at x86 code and I agree this shouldn't break anything. However the commit message does make complete sense to me, especially reference to sched_cpu_starting while smt_masks are accessed in sched_cpu_activate. Or am I missing to understand something here ?
-- Regards, Sudeep
| |