sched_clock: record from last tick
authorSteven Rostedt <rostedt@goodmis.org>
Mon, 7 Jul 2008 18:16:50 +0000 (14:16 -0400)
committerIngo Molnar <mingo@elte.hu>
Fri, 11 Jul 2008 13:53:25 +0000 (15:53 +0200)
commit62c43dd9864dbd52ff158922d1d08c75f20335af
tree9b8ce91f634b56e1420759f6872c6bfc21deec97
parent70ff05554f91a1edda1f11684da1dbde09e2feea
sched_clock: record from last tick

The sched_clock code tries to keep within the gtod time by one tick (jiffy).
The current code mistakenly keeps track of the delta jiffies between
updates of the clock, where the the delta is used to compare with the
number of jiffies that have past since an update of the gtod. The gtod is
updated at each schedule tick not each sched_clock update. After one
jiffy passes the clock is updated fine. But the delta is taken from the
last update so if the next update happens before the next tick the delta
jiffies used will be incorrect.

This patch changes the code to check the delta of jiffies between ticks
and not updates to match the comparison of the updates with the gtod.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Cc: Steven Rostedt <srostedt@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_clock.c