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

Yury Polyanskiy
2010-03-29T14:11:33Z

[-- Attachment #1: Type: text/plain, Size: 930 bytes --]

On Sun, 28 Mar 2010 18:00:36 -0700
john stultz <johnstul@us.ibm.com> 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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]