Messages in this thread | | | Subject | Re: [RFC PATCH 07/13] sched: Add core wide task selection and scheduling. | From | Tim Chen <> | Date | Thu, 16 Apr 2020 16:32:28 -0700 |
| |
On 4/14/20 6:35 AM, Peter Zijlstra wrote: > On Wed, Mar 04, 2020 at 04:59:57PM +0000, vpillai wrote: >> +static struct task_struct * >> +pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf) >> +{ >> + struct task_struct *next, *max = NULL; >> + const struct sched_class *class; >> + const struct cpumask *smt_mask; >> + int i, j, cpu; >> + bool need_sync = false; > > AFAICT that assignment is superfluous. Also, you violated the inverse > x-mas tree. > >> + >> + cpu = cpu_of(rq); >> + if (cpu_is_offline(cpu)) >> + return idle_sched_class.pick_next_task(rq); > > Are we actually hitting this one? >
I did hit this race when I was testing taking cpu offline and online, which prompted the check of cpu being offline.
Tim
| |