Re: 2.6.17-mm2 hrtimer code wedges at boot?
From: Valdis . Kletnieks
Date: Fri Jun 30 2006 - 17:03:04 EST
On Fri, 30 Jun 2006 12:26:09 PDT, john stultz said:
> Its a little after the fact (since things have already gone awry), but
> it does show the multiplier is way out of bound.
>
> I suspect the following patch will resolve it. The update callback
> hasn't kept up with the changes from Roman, and is a bit useless anyway.
> If the TSC is changing frequency, its unstable and we don't want to use
> it, so lets just mark it as such and move along.
>
> I'll work on a patch to cleanup the update_callback code, but if this
> resolves the issue, it should be the safe short term fix for 2.6.18.
*AHA* I *found* the bugger, I think.
In kernel/timer.c, we have:
static void clocksource_adjust(struct clocksource *clock, s64 offset)
(s64 used for offset in multiple places).
However, in other places, offset is a 'cycle_t', which is:
include/linux/clocksource.h:typedef u64 cycle_t;
So it looks like a signed/unsigned screwage.
Attachment:
pgp00000.pgp
Description: PGP signature