Re: [PATCH v4 08/10] sched/fair: Steal work from an overloaded CPU when CPU goes idle

From: Valentin Schneider
Date: Sat Dec 08 2018 - 13:39:31 EST


On 07/12/2018 22:36, Steven Sistare wrote:
> On 12/7/2018 3:21 PM, Valentin Schneider wrote:
>> Hi Steve,
>>
>> On 06/12/2018 21:28, Steve Sistare wrote:
>> [...]
>>> @@ -6778,20 +6791,22 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_
>>> update_misfit_status(NULL, rq);
>>>
>>> /*
>>> - * We must set idle_stamp _before_ calling idle_balance(), such that we
>>> - * measure the duration of idle_balance() as idle time.
>>> + * We must set idle_stamp _before_ calling try_steal() or
>>> + * idle_balance(), such that we measure the duration as idle time.
>>> */
>>> rq_idle_stamp_update(rq);
>>
>> idle_balance() has a
>>
>> /*
>> * Do not pull tasks towards !active CPUs...
>> */
>> if (!cpu_active(this_cpu))
>> return 0;
>>
>> check which we probably want for stealing too, so we could hoist it up here
>> to cover both idle_balance() and try_steal().
>
> try_steal() already checks cpu_active. I could hoist it.
>

Ah yeah I missed that one, I had only seen cpu_active(src_cpu) in steal_from().
It's all good then.

[...]