| Date | Fri, 23 Oct 2020 17:05:44 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v8 -tip 06/26] sched: Add core wide task selection and scheduling. |
| |
On Mon, Oct 19, 2020 at 09:43:16PM -0400, Joel Fernandes (Google) wrote: > From: Peter Zijlstra <peterz@infradead.org> > > Instead of only selecting a local task, select a task for all SMT > siblings for every reschedule on the core (irrespective which logical > CPU does the reschedule).
This:
> > During a CPU hotplug event, schedule would be called with the hotplugged > CPU not in the cpumask. So use for_each_cpu(_wrap)_or to include the > current cpu in the task pick loop. > > There are multiple loops in pick_next_task that iterate over CPUs in > smt_mask. During a hotplug event, sibling could be removed from the > smt_mask while pick_next_task is running. So we cannot trust the mask > across the different loops. This can confuse the logic. Add a retry logic > if smt_mask changes between the loops.
isn't entirely accurate anymore, is it?
|