lkml.org 
[lkml]   [2015]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 2/2] sched: Update runtime of prev task before doing pick_next_task()
Date
Kirill Tkhai <ktkhai@odin.com> writes:

> pick_next_task() puts prev rq's task. This may lead to runtime
> expiration and to dequeueing of all scheduling class's tasks
> because of throttling. And the current logic is that put_prev_task()
> must be called in the pick method of next task's class.
>
> This was fixed for RT and DL classes, while fair class have this
> problem. So, instead of doing partial solutions, let's update prev
> task's runtime for all classes in __schedule() and fix the problem
> completelly.
>
> Also, let's freeze the clock during pick_next_task() to be sure
> new expirations of runtime won't happen.
>
> Reported-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
> Reported-by: Mohammed Naser <mnaser@vexxhost.com>
> Signed-off-by: Kirill Tkhai <ktkhai@odin.com>


If this is actually the bug I sent a patch for (and that I was correct
in guessing what the issue /was/, which is not at all certain), this
won't actually eliminate the issue - I couldn't find a race involving
actual updates but did find one with disable/enable.


\
 
 \ /
  Last update: 2015-05-26 20:01    [W:2.182 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site