On Tue, 2013-01-08 at 02:07 +0100, Frederic Weisbecker wrote: > rq->skip_clock_update shouldn't be negative. Thus the check > in put_prev_task() is useless. > > It was probably intended to do the following check: > > if (prev->on_rq && !rq->skip_clock_update) > > We only want to update the clock if the current task is > not voluntarily sleeping: otherwise deactivate_task() > already did the rq clock update in schedule(). But we want > to ignore that update if a ttwu did it for us, in which case > rq->skip_clock_update is 1. > > But update_rq_clock() already takes care of that so we > can just remove the broken condition.
kernel/sched/rt.c: /* * Force a clock update if the CPU was idle, * lest wakeup -> unthrottle time accumulate. */ if (rt_rq->rt_nr_running && rq->curr == rq->idle) rq->skip_clock_update = -1; -- Steve > > Signed-off-by: Frederic Weisbecker <fweis...@gmail.com> > Cc: Ingo Molnar <mi...@kernel.org> > Cc: Peter Zijlstra <pet...@infradead.org> > Cc: Steven Rostedt <rost...@goodmis.org> > --- > kernel/sched/core.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index 15ba35e..8dfc461 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -2886,7 +2886,7 @@ static inline void schedule_debug(struct task_struct > *prev) > > static void put_prev_task(struct rq *rq, struct task_struct *prev) > { > - if (prev->on_rq || rq->skip_clock_update < 0) > + if (prev->on_rq) > update_rq_clock(rq); > prev->sched_class->put_prev_task(rq, prev); > } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/