lkml.org 
[lkml]   [2009]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Jiffies jumping with the x86 HPET
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@tls.msk.ru>
To: Lee Merrill <lee_merrill@yahoo.com>
Cc: LKML <linux-kernel@vger.kernel.org>
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




\
 
 \ /
  Last update: 2009-11-17 16:07    [W:0.579 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site