watchdog: Use local_clock for get_timestamp()

The get_timestamp() function is always called with current cpu,
thus using local_clock() would be more appropriate and it makes
the code shorter and cleaner IMHO.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Don Zickus <dzickus@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1356576585-28782-1-git-send-email-namhyung@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Namhyung Kim 2012-12-27 11:49:44 +09:00 committed by Ingo Molnar
parent f86f755482
commit c06b4f1947

View File

@ -112,9 +112,9 @@ static int get_softlockup_thresh(void)
* resolution, and we don't need to waste time with a big divide when * resolution, and we don't need to waste time with a big divide when
* 2^30ns == 1.074s. * 2^30ns == 1.074s.
*/ */
static unsigned long get_timestamp(int this_cpu) static unsigned long get_timestamp(void)
{ {
return cpu_clock(this_cpu) >> 30LL; /* 2^30 ~= 10^9 */ return local_clock() >> 30LL; /* 2^30 ~= 10^9 */
} }
static void set_sample_period(void) static void set_sample_period(void)
@ -132,9 +132,7 @@ static void set_sample_period(void)
/* Commands for resetting the watchdog */ /* Commands for resetting the watchdog */
static void __touch_watchdog(void) static void __touch_watchdog(void)
{ {
int this_cpu = smp_processor_id(); __this_cpu_write(watchdog_touch_ts, get_timestamp());
__this_cpu_write(watchdog_touch_ts, get_timestamp(this_cpu));
} }
void touch_softlockup_watchdog(void) void touch_softlockup_watchdog(void)
@ -195,7 +193,7 @@ static int is_hardlockup(void)
static int is_softlockup(unsigned long touch_ts) static int is_softlockup(unsigned long touch_ts)
{ {
unsigned long now = get_timestamp(smp_processor_id()); unsigned long now = get_timestamp();
/* Warn about unreasonable delays: */ /* Warn about unreasonable delays: */
if (time_after(now, touch_ts + get_softlockup_thresh())) if (time_after(now, touch_ts + get_softlockup_thresh()))