Messages in this thread | | | From | Vincent Guittot <> | Date | Fri, 8 Nov 2019 17:46:28 +0100 | Subject | Re: [PATCH 4/7] sched: Optimize pick_next_task() |
| |
On Fri, 8 Nov 2019 at 15:33, Quentin Perret <qperret@google.com> wrote: > > On Friday 08 Nov 2019 at 14:15:57 (+0100), Peter Zijlstra wrote: > > Ever since we moved the sched_class defenitions into their own files, > > s/defenitions/definitions > > > the constant expression {fair,idle}_sched_class.pick_next_task() is > > not in fact a compile time constant anymore and results in an indirect > > call (barring LTO). > > > > Fix that by exposing pick_next_task_{fair,idle}() directly, this gets > > rid of the indirect call (and RETPOLINE) on the fast path. > > > > Also remove the unlikely() from the idle case, it is in fact /the/ way > > we select idle -- and that is a very common thing to do. > > I assumed this was to optimize the case where we did find a cfs task to > run. That is, we can afford to hit the unlikely case when there is no > work to do after, but when there is, we shouldn't spend time checking > the idle case. Makes sense ?
I have the same understanding as Quentin
> > Thanks, > Quentin
| |