[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTinQbj+cVk3rA6Rw1=cfn7u9JMdYxyy4Ytib0PxL@mail.gmail.com>
Date: Thu, 2 Sep 2010 13:45:14 +0200
From: jean-philippe francois <jp.francois@...ove.com>
To: Venkatesh Pallipadi <venki@...gle.com>
Cc: john stultz <johnstul@...ibm.com>, Lin Ming <lin@...g.vg>,
"H. Peter Anvin" <hpa@...or.com>, linux-acpi@...r.kernel.org,
LKML <linux-kernel@...r.kernel.org>, jslaby@...e.cz
Subject: Re: System time drifts when processor idle.
2010/8/28 Venkatesh Pallipadi <venki@...gle.com>:
>
> OK. So, the problem seems to be limited to HPET and 5 min multiples.
>
>> john stultz <johnstul@...ibm.com>:
>> Huh. So you're thinking the timer tick scheduler is pushing way past the
>> HPET wrap length, and then we're missing an accumulation point and
>> things wrap under us?
>
> John: I don't think it is that we are going tickless beyond HPET wrap
> length. HPET max delta should be preventing that.
> We probably need to read out HPET hardware counter to see whether
> things are OK there. Even if we miss the interrupt, time update should
> notice that. One potential problem may be that HPET hardware can only
> do 32 bit mode, but advertising 64 bit mode and we are getting
> confused when we update time?
>
> jean-philippe: What does hpet section of "cat /proc/timer_list" look
> like?
Tick Device: mode: 1
Broadcast device
Clock Event Device: hpet
max_delta_ns: 2147483647
min_delta_ns: 7500
mult: 61496114
shift: 32
mode: 3
next_event: 11289189000000 nsecs
set_next_event: hpet_legacy_next_event
set_mode: hpet_legacy_set_mode
event_handler: tick_handle_oneshot_broadcast
tick_broadcast_mask: 00000003
tick_broadcast_oneshot_mask: 00000002
> Also, can you boot with "hpet=verbose" option and send the
> dmesg.
>
Please find attached, and quoted below with the hpet section only :
[ 0.000000] Kernel command line:
root=UUID=d6f01bdd-8503-4992-bc4e-a511f74318fb ro quiet splash
hpet=verbose
[ 0.000000] hpet: hpet_enable(895):
[ 0.000000] hpet: ID: 0x8086a201, PERIOD: 0x429b17f
[ 0.000000] hpet: CFG: 0x0, STATUS: 0x0
[ 0.000000] hpet: COUNTER_l: 0x0, COUNTER_h: 0x0
[ 0.000000] hpet: T0: CFG_l: 0x30, CFG_h: 0xf00000
[ 0.000000] hpet: T0: CMP_l: 0xffffffff, CMP_h: 0xffffffff
[ 0.000000] hpet: T0 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.000000] hpet: T1: CFG_l: 0x0, CFG_h: 0xf00000
[ 0.000000] hpet: T1: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.000000] hpet: T1 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.000000] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
[ 0.000000] hpet: T2: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.000000] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.000000] hpet: hpet_set_mode(348):
[ 0.000000] hpet: ID: 0x8086a201, PERIOD: 0x429b17f
[ 0.000000] hpet: CFG: 0x3, STATUS: 0x0
[ 0.000000] hpet: COUNTER_l: 0x577, COUNTER_h: 0x0
[ 0.000000] hpet: T0: CFG_l: 0x13c, CFG_h: 0xf00000
[ 0.000000] hpet: T0: CMP_l: 0xe4c0, CMP_h: 0x0
[ 0.000000] hpet: T0 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.000000] hpet: T1: CFG_l: 0x0, CFG_h: 0xf00000
[ 0.000000] hpet: T1: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.000000] hpet: T1 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.000000] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
[ 0.000000] hpet: T2: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.000000] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.000000] hpet clockevent registered
[ 0.320995] hpet: hpet_msi_capability_lookup(621):
[ 0.320995] hpet: ID: 0x8086a201, PERIOD: 0x429b17f
[ 0.320995] hpet: CFG: 0x3, STATUS: 0x0
[ 0.320995] hpet: COUNTER_l: 0x63fff5, COUNTER_h: 0x0
[ 0.320995] hpet: T0: CFG_l: 0x138, CFG_h: 0xf00000
[ 0.320995] hpet: T0: CMP_l: 0x6484b0, CMP_h: 0x0
[ 0.320995] hpet: T0 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.320995] hpet: T1: CFG_l: 0x0, CFG_h: 0xf00000
[ 0.320995] hpet: T1: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.320995] hpet: T1 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.320995] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
[ 0.320995] hpet: T2: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.320995] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.320995] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[ 0.320995] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[ 0.322438] hpet: hpet_late_init(951):
[ 0.322441] hpet: ID: 0x8086a201, PERIOD: 0x429b17f
[ 0.322444] hpet: CFG: 0x3, STATUS: 0x0
[ 0.322447] hpet: COUNTER_l: 0x647301, COUNTER_h: 0x0
[ 0.322450] hpet: T0: CFG_l: 0x138, CFG_h: 0xf00000
[ 0.322454] hpet: T0: CMP_l: 0x6484b0, CMP_h: 0x0
[ 0.322457] hpet: T0 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.322460] hpet: T1: CFG_l: 0x0, CFG_h: 0xf00000
[ 0.322463] hpet: T1: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.322466] hpet: T1 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.322470] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
[ 0.322473] hpet: T2: CMP_l: 0xc8ad01, CMP_h: 0x0
[ 0.322476] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.610087] hpet: hpet_set_mode(348):
[ 0.610090] hpet: ID: 0x8086a201, PERIOD: 0x429b17f
[ 0.610093] hpet: CFG: 0x3, STATUS: 0x0
[ 0.610097] hpet: COUNTER_l: 0xa30ae4, COUNTER_h: 0x0
[ 0.610100] hpet: T0: CFG_l: 0x13c, CFG_h: 0xf00000
[ 0.610104] hpet: T0: CMP_l: 0xa3ea17, CMP_h: 0x0
[ 0.610107] hpet: T0 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.610110] hpet: T1: CFG_l: 0x0, CFG_h: 0xf00000
[ 0.610114] hpet: T1: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.610117] hpet: T1 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.610120] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
[ 0.610124] hpet: T2: CMP_l: 0xc8ad01, CMP_h: 0x0
[ 0.610127] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.610154] Switching to clocksource hpet
[ 1.034733] rtc0: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
> Thanks,
> Venki
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
View attachment "dmesg_hpet.log" of type "text/x-log" (67722 bytes)
Powered by blists - more mailing lists