Re: [PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-19 Thread Rik van Riel
On Mon, 2021-04-19 at 12:22 +0100, Valentin Schneider wrote: > On 18/04/21 22:17, Rik van Riel wrote: > > @@ -10661,7 +10669,8 @@ static int newidle_balance(struct rq > > *this_rq, struct rq_flags *rf) > >* Stop searching for tasks to pull if there are > >* now runna

Re: [PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-19 Thread Vincent Guittot
On Mon, 19 Apr 2021 at 04:18, Rik van Riel wrote: > > The try_to_wake_up function has an optimization where it can queue > a task for wakeup on its previous CPU, if the task is still in the > middle of going to sleep inside schedule(). > > Once schedule() re-enables IRQs, the task will be woken up

Re: [PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-19 Thread Valentin Schneider
On 18/04/21 22:17, Rik van Riel wrote: > @@ -10661,7 +10669,8 @@ static int newidle_balance(struct rq *this_rq, struct > rq_flags *rf) >* Stop searching for tasks to pull if there are >* now runnable tasks on this rq. >*/ > - if (pulled_t

Re: [PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-19 Thread Peter Zijlstra
On Sun, Apr 18, 2021 at 10:17:51PM -0400, Rik van Riel wrote: > The try_to_wake_up function has an optimization where it can queue > a task for wakeup on its previous CPU, if the task is still in the > middle of going to sleep inside schedule(). > > Once schedule() re-enables IRQs, the task will b

Re: [PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-18 Thread kernel test robot
Hi Rik, Thank you for the patch! Yet something to improve: [auto build test ERROR on tip/sched/core] [also build test ERROR on linux/master linus/master v5.12-rc8 next-20210416] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '-

[PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-18 Thread Rik van Riel
The try_to_wake_up function has an optimization where it can queue a task for wakeup on its previous CPU, if the task is still in the middle of going to sleep inside schedule(). Once schedule() re-enables IRQs, the task will be woken up with an IPI, and placed back on the runqueue. If we have suc