Re: [PATCH v4] sched/core: Preempt current task in favour of bound kthread

From: Srikar Dronamraju
Date: Fri Dec 13 2019 - 00:32:15 EST


* Peter Zijlstra <peterz@xxxxxxxxxxxxx> [2019-12-12 11:10:31]:

> On Thu, Dec 12, 2019 at 09:46:17AM +1100, Dave Chinner wrote:
> > On Wed, Dec 11, 2019 at 11:08:29PM +0530, Srikar Dronamraju wrote:
>
> Good point, something to maybe try (Srikar?) is making tick preemption
> more agressive for such tasks.
>
> The below extends the previous patch to retain the set_next_buddy() on
> wakeup, but does not make the actual preemption more agressive.
>
> Then it 'fixes' the tick preemption to better align with the actual
> scheduler pick (ie. consider the buddy hints).
>

Just to let you know, I tried the patch, but it doesn't help.
The results were identical to the one without the patch.

I think its probably because when we allow the task to stay on the runqueue,
it will surely lead to load_balance and so we see the active-balance kick
in.

Peter, Based on what Dave is asking for, would you be okay if we add

1. A delayed_wake_list per runqueue,
2. A new wake_up API to add tasks to this delayed wake_list
3. On schedule, tasks on the delayed_wake_list would be actually woken up.

--
Thanks and Regards
Srikar Dronamraju