Re: [PATCH v2] sched/fair: sanitize vruntime of entity being migrated

From: Dietmar Eggemann
Date: Tue Mar 14 2023 - 09:41:08 EST


On 14/03/2023 14:29, Dietmar Eggemann wrote:
> On 14/03/2023 13:07, Peter Zijlstra wrote:
>> On Tue, Mar 14, 2023 at 08:41:30AM +0100, Vincent Guittot wrote:

[...]

>> So when a task is not running for a long time (our case at hand), then
>> there's two cases:
>>
>> - it wakes up locally and place_entity() gets to reset vruntime;
>> - it wakes up remotely and migrate_task_rq_fair() can reset vruntime.
>>
>> So if we can rely on ENQUEUE_MIGRATED to differentiate between these
>> cases, when wouldn't something like this work?
>
> I guess so. We would avoid rq_clock_task skews or to be forced to pass
> state that migrating se's vruntime is too old.

... just saw Vincent's reply ... I forgot the limitation that we can't
all rq_clock_task() in migrate_task_rq_fair() again.

[...]