From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754095Ab3IIOfj (ORCPT ); Mon, 9 Sep 2013 10:35:39 -0400 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.122]:23533 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752045Ab3IIOfg (ORCPT ); Mon, 9 Sep 2013 10:35:36 -0400 X-Authority-Analysis: v=2.0 cv=ddwCLAre c=1 sm=0 a=Sro2XwOs0tJUSHxCKfOySw==:17 a=Drc5e87SC40A:10 a=Ciwy3NGCPMMA:10 a=BP604nfWqvwA:10 a=5SG0PmZfjMsA:10 a=bbbx4UPp9XUA:10 a=meVymXHHAAAA:8 a=KGjhK52YXX0A:10 a=tVU5si3swWsA:10 a=VwQbUJbxAAAA:8 a=aEvpvKATvMdsf35bc-8A:9 a=9J5VuaLb3qoA:10 a=jeBq3FmKZ4MA:10 a=Zh68SRI7RUMA:10 a=Sro2XwOs0tJUSHxCKfOySw==:117 X-Cloudmark-Score: 0 X-Authenticated-User: X-Originating-IP: 67.255.60.225 Message-Id: <20130909143534.516910911@goodmis.org> User-Agent: quilt/0.60-1 Date: Mon, 09 Sep 2013 10:35:19 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org, linux-rt-users Cc: Thomas Gleixner , Carsten Emde , Sebastian Andrzej Siewior , John Kacur , , Mike Galbraith Subject: [PATCH RT 02/16] x86/mce: fix mce timer interval References: <20130909143517.641735717@goodmis.org> Content-Disposition: inline; filename=0002-x86-mce-fix-mce-timer-interval.patch Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mike Galbraith 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 Signed-off-by: Steven Rostedt [bigeasy: use ULL instead of u64 cast] Signed-off-by: Sebastian Andrzej Siewior --- 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 c859bb4..e51191f 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -1171,7 +1171,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; } @@ -1452,7 +1452,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