sched/rt: Do not account zero delta_exec in update_curr_rt()
authorKirill Tkhai <tkhai@yandex.ru>
Wed, 30 Jan 2013 12:50:36 +0000 (16:50 +0400)
committerIngo Molnar <mingo@kernel.org>
Thu, 31 Jan 2013 09:31:13 +0000 (10:31 +0100)
commitfc79e240be5aa379dd36a62158be5a5ee0e4aec7
tree84e29ffa57509f586aff6a31ed0b0461f830fdaa
parent62188451f0d63add7ad0cd2a1ae269d600c1663d
sched/rt: Do not account zero delta_exec in update_curr_rt()

There are several places of consecutive calls of
dequeue_task_rt() and put_prev_task_rt() in the scheduler.
For example, function rt_mutex_setprio() does it.

The both calls lead to update_curr_rt(), the second of it
receives zeroed delta_exec. The only effective action in this
case is call of sched_rt_avg_update(), which can change
rq->age_stamp and rq->rt_avg. But it is possible in case of
""floating"" rq->clock. This fact is not reasonable to be
accounted. Another actions do nothing.

Signed-off-by: Kirill V Tkhai <tkhai@yandex.ru>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
CC: linux-rt-users <linux-rt-users@vger.kernel.org>
Link: http://lkml.kernel.org/r/931541359550236@web1g.yandex.ru
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/rt.c