lkml.org 
[lkml]   [2013]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH RT 02/16] x86/mce: fix mce timer interval
    From: Mike Galbraith <bitbucket@online.de>

    Seems mce timer fire at the wrong frequency in -rt kernels since roughly
    forever due to 32 bit overflow. 3.8-rt is also missing a multiplier.

    Add missing us -> ns conversion and 32 bit overflow prevention.

    Cc: stable-rt@vger.kernel.org
    Signed-off-by: Mike Galbraith <bitbucket@online.de>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    [bigeasy: use ULL instead of u64 cast]
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    ---
    arch/x86/kernel/cpu/mcheck/mce.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
    index 63c96f9..ab47f31 100644
    --- a/arch/x86/kernel/cpu/mcheck/mce.c
    +++ b/arch/x86/kernel/cpu/mcheck/mce.c
    @@ -1274,7 +1274,7 @@ static enum hrtimer_restart mce_start_timer(struct hrtimer *timer)
    *n = min(*n*2, round_jiffies_relative(check_interval*HZ));

    hrtimer_forward(timer, timer->base->get_time(),
    - ns_to_ktime(jiffies_to_usecs(*n) * 1000));
    + ns_to_ktime(jiffies_to_usecs(*n) * 1000ULL));
    return HRTIMER_RESTART;
    }

    @@ -1568,7 +1568,7 @@ static void __mcheck_cpu_init_timer(void)
    if (!*n)
    return;

    - hrtimer_start_range_ns(t, ns_to_ktime(jiffies_to_usecs(*n) * 1000),
    + hrtimer_start_range_ns(t, ns_to_ktime(jiffies_to_usecs(*n) * 1000ULL),
    0 , HRTIMER_MODE_REL_PINNED);
    }

    --
    1.7.10.4



    \
     
     \ /
      Last update: 2013-09-09 16:01    [W:3.087 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site