lkml.org 
[lkml]   [2007]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] scheduler: fix x86 regression in native_sched_clock
    This patch fixes a regression introduced by:

    commit bb29ab26863c022743143f27956cc0ca362f258c
    Author: Ingo Molnar <mingo@elte.hu>
    Date: Mon Jul 9 18:51:59 2007 +0200

    This caused the jiffies counter to leap back and forth on cpufreq changes
    on my x86 box. I'd say that we can't always assume that TSC does "small
    errors" only, when marked unstable. On cpufreq changes these errors can be
    huge.

    The original bug report can be found here:
    http://bugzilla.kernel.org/show_bug.cgi?id=9475


    Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>

    ---

    diff --git a/arch/x86/kernel/tsc_32.c b/arch/x86/kernel/tsc_32.c
    index 9ebc0da..d29cd9c 100644
    --- a/arch/x86/kernel/tsc_32.c
    +++ b/arch/x86/kernel/tsc_32.c
    @@ -98,13 +98,8 @@ unsigned long long native_sched_clock(void)

    /*
    * Fall back to jiffies if there's no TSC available:
    - * ( But note that we still use it if the TSC is marked
    - * unstable. We do this because unlike Time Of Day,
    - * the scheduler clock tolerates small errors and it's
    - * very important for it to be as fast as the platform
    - * can achive it. )
    */
    - if (unlikely(!tsc_enabled && !tsc_unstable))
    + if (unlikely(!tsc_enabled))
    /* No locking but a rare wrong value is not a big deal: */
    return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ);

    --
    Ciao
    Stefano


    \
     
     \ /
      Last update: 2007-12-07 02:25    [W:0.020 / U:91.500 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site