Re: Jiffies jumping with the x86 HPET

From: just2ducky1234-1
Date: Tue Nov 17 2009 - 10:04:45 EST


Thanks for your reply, now this problem is with customers, so a patch would probably be best. But I was mainly hoping for confirmation of the scenario and the one-liner (one-byte!) fix, since we can cobble something together to implement a patch. Also I wanted to get information out on Google, in case someone else encounters the problem, since there don't seem to be any hits on this.

Regards,
Lee

________________________________
From: Michael Tokarev <mjt@xxxxxxxxxx>
To: Lee Merrill <lee_merrill@xxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>
Sent: Tue, November 17, 2009 9:05:15 AM
Subject: Re: Jiffies jumping with the x86 HPET

Lee Merrill wrote:
> We are seeing jiffies go forward occasionally, by 300 seconds, this it appears is due to the following code in the 2.6.16 kernel:
>
> mark_offset_tsc_hpet(void):
> ...
> 1 hpet_current = hpet_readl(HPET_COUNTER);
> 2 rdtsc(last_tsc_low, last_tsc_high);
> 3
> 4 /* lost tick compensation */
> 5 offset = hpet_readl(HPET_T0_CMP) - hpet_tick;
> 6 if (unlikely(((offset - hpet_last) > hpet_tick) && (hpet_last != 0))
> 7 && detect_lost_ticks) {
> 8 int lost_ticks = (offset - hpet_last) / hpet_tick;
> 9 jiffies_64 += lost_ticks;
> 10 }
> 11 hpet_last = hpet_current;

There is no such code in current (2.6.31 or even 2.6.27.y) kernel.
Both hpet support and timer/clock code received huge changes in
2.6.24+ kernels. I guess your best bet is to upgrade.

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/