watchdog: Fix rounding bug in get_sample_period()
authorMandeep Singh Baines <[email protected]>
Mon, 23 May 2011 05:10:20 +0000 (22:10 -0700)
committerIngo Molnar <[email protected]>
Mon, 23 May 2011 09:58:58 +0000 (11:58 +0200)
In get_sample_period(), softlockup_thresh is integer divided by
5 before the multiplication by NSEC_PER_SEC. This results in
softlockup_thresh being rounded down to the nearest integer
multiple of 5.

For example, a softlockup_thresh of 4 rounds down to 0.

Signed-off-by: Mandeep Singh Baines <[email protected]>
Cc: Marcin Slusarz <[email protected]>
Cc: Don Zickus <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
kernel/watchdog.c

index 14733d4d156b5e90603cafec70eb9907b141b6dd..a06972d71060f923c7919a8c188cf00471a333e6 100644 (file)
@@ -110,7 +110,7 @@ static unsigned long get_sample_period(void)
         * increment before the hardlockup detector generates
         * a warning
         */
-       return softlockup_thresh / 5 * NSEC_PER_SEC;
+       return softlockup_thresh * (NSEC_PER_SEC / 5);
 }
 
 /* Commands for resetting the watchdog */