offset = hpet_readl(HPET_T0_CMP) - hpet_tick; if (unlikely(((offset - hpet_last) > hpet_tick) && (hpet_last != 0))) { int lost_ticks = (offset - hpet_last) / hpet_tick; 
if (hpet_use_timer) offset = hpet_readl(HPET_T0_CMP) - hpet_tick; else offset = hpet_readl(HPET_COUNTER); if (unlikely(((offset - hpet_last) >= (2*hpet_tick)) && (hpet_last != 0))) { int lost_ticks = ((offset - hpet_last) / hpet_tick) - 1; 
static void mark_offset_hpet(void){	unsigned long long this_offset, last_offset;	unsigned long offset;	write_seqlock(&monotonic_lock);	last_offset = ((unsigned long long)last_tsc_high<<32)|last_tsc_low;	rdtsc(last_tsc_low, last_tsc_high);	offset = hpet_readl(HPET_T0_CMP) - hpet_tick;	if (unlikely(((offset - hpet_last) > hpet_tick) && (hpet_last != 0))) {		int lost_ticks = (offset - hpet_last) / hpet_tick;		jiffies_64 += lost_ticks;	}	hpet_last = offset;	/* update the monotonic base value */	this_offset = ((unsigned long long)last_tsc_high<<32)|last_tsc_low;	monotonic_base += cycles_2_ns(this_offset - last_offset);	write_sequnlock(&monotonic_lock);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/35492df5ae0f36f717448b2aea908d3a8891d1c4/timer_hpet.c/buggy/arch/i386/kernel/timers/timer_hpet.c