• Steven Rostedt's avatar
    sched_clock: widen the max and min time · f7cce27f
    Steven Rostedt authored
    With keeping the max and min sched time within one jiffy of the gtod clock
    was too tight. Just before a schedule tick the max could easily be hit, as
    well as just after a schedule_tick the min could be hit. This caused the
    clock to jump around by a jiffy.
    
    This patch widens the minimum to
       last gtod + (delta_jiffies ? delta_jiffies - 1 : 0) * TICK_NSECS
    
    and the maximum to
        last gtod + (2 + delta_jiffies) * TICK_NSECS
    
    This keeps the minum to gtod or if one jiffy less than delta jiffies
    and the maxim 2 jiffies ahead of gtod. This may cause unstable TSCs to be
    a bit more sporadic, but it helps keep a clock with a stable TSC working well.
    Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
    f7cce27f
sched_clock.c 5.79 KB