Make mce polling timers 1 sec jiffy aligned
PATCH 4/4 Make mce polling timers 1 sec jiffy aligned
round_jiffies() for i386 and x86-64 non-critical/corrected MCE polling.
Signed-off-by Venkatesh Pallipadi <[email protected]>
arch/x86_64/kernel/mce.c +6 -3
@@ -366,7 +366,8 @@ next_interval =min (next_interval*2 , check_interval*HZ ); } -schedule_delayed_work (&mcheck_work, next_interval); +schedule_delayed_work (&mcheck_work, +round_jiffies_relative (next_interval)); }
@@ -374,7 +375,8 @@ { next_interval = check_interval *HZ ;if (next_interval) -schedule_delayed_work (&mcheck_work, next_interval); +schedule_delayed_work (&mcheck_work, +round_jiffies_relative (next_interval));return 0 ; }__initcall (periodic_mcheck_init);
@@ -618,7 +620,8 @@on_each_cpu (mce_init,NULL ,1 ,1 ); next_interval = check_interval *HZ ;if (next_interval) -schedule_delayed_work (&mcheck_work, next_interval); +schedule_delayed_work (&mcheck_work, +round_jiffies_relative (next_interval)); }static struct sysdev_class mce_sysclass = {
arch/i386/kernel/cpu/mcheck/non-fatal.c +2 -2
@@ -57,7 +57,7 @@static void mce_work_fn (struct work_struct *work) {on_each_cpu (mce_checkregs,NULL ,1 ,1 ); -schedule_delayed_work (&mce_work,MCE_RATE ); +schedule_delayed_work (&mce_work,round_jiffies_relative (MCE_RATE )); }static int __init init_nonfatal_mce_checker (void )
@@ -82,7 +82,7 @@/* * Check for non-fatal errors every MCE_RATE s */ -schedule_delayed_work (&mce_work,MCE_RATE ); +schedule_delayed_work (&mce_work,round_jiffies_relative (MCE_RATE ));printk (KERN_INFO "Machine check exception polling timer started.\n" );return 0 ; }