Re: [PATCH] hangcheck-timer is broken on x86

From: Yury Polyanskiy
Date: Mon Mar 29 2010 - 10:11:36 EST


On Sun, 28 Mar 2010 18:00:36 -0700
john stultz <johnstul@xxxxxxxxxx> wrote:

> > 1) Does getrawmonotonic() satisfy hangcheck-timer? What I mean is, will
> > it always return the wallclock nanoseconds even in the face of CPU speed
> > changes, suspend, udelay, or any other suspension of kernel operation?
> > Yes, I know this is a tougher standard than rdtsc(), but this is what
> > hangcheck-timer wants. rdtsc() at least satisfied udelay and PCI hangs.
>
> getrawmonotonic() can be stalled and will wrap on some hardware (acpi pm
> timer wraps every 5 seconds).
>

I am not sure which archs do you mean. But in any case,
getrawmonotonic() is not just a wrap around a call to rdtsc() (or acpi
pm timer read). It is based on the clock->raw_time, which is updated
every timer interrupt by the update_wall_time(). So even if underlying
timer wraps, it doesn't lead to getrawmonotonic() returning 0 sec.


Y

Attachment: signature.asc
Description: PGP signature