From: Charles Lepple <clepple@ghz.cc>
To: john stultz <johnstul@us.ibm.com>
Cc: lkml <linux-kernel@vger.kernel.org>
Subject: PIT, TSC and power management [was: Re: 2.6.0-test3 "loosing ticks"]
Date: Thu, 14 Aug 2003 20:19:58 -0400 [thread overview]
Message-ID: <3F3C272E.7060702@ghz.cc> (raw)
In-Reply-To: <1060882084.10732.1588.camel@cog.beaverton.ibm.com>
john stultz wrote:
> On Thu, 2003-08-14 at 10:17, Jamie Lokier wrote:
>
>>john stultz wrote:
>>
>>>Sounds like either your PIT is running slowly or something is
>>>consistently keeping the timer interrupt from being handled. In 2.4 do
>>>you have any time related issues at all? Does the "Loosing too many
>>>ticks!" message correlate to any event on the system (boot, heavy load)?
>>>
>>>Also listing system type, motherboard, any sort of funky devices you've
>>>got might be helpful.
>>
>>I am seeing something similar on my dual Athlon MP 1800 box.
>>
>>It is running NTP to synchronise with another machine over the LAN,
>>but ntpdc reports that it develops a larger and larger offset relative
>>to the server - ntpd clearly is not managing to regulate the clock.
I also see the time offset problem (Athlon MP 2000+ x2, Tyan S2460 m/b,
2.6.0-test{1,2,3}) but it is most noticeable when I have amd76x_pm
installed (it's not in 2.6.x yet, but a late 2.5.x patch was posted to
LKML a little while back).
amd76x_pm is roughly equivalent to ACPI C2 idling, but since my BIOS
doesn't export any C-state functionality to the kernel ACPI code, I am
stuck with letting amd76x_pm frob the chipset registers. A quick look at
AMD's datasheets does not indicate that a return from C2 should cause
much delay at all-- if I understand the timing requirements correctly,
it would have to sit for more than 1 ms to miss more than one interrupt.
That said, I don't see any missing interrupts indicated in
/proc/interrupts, nor do any such messages appear in the kernel logs.
Brings up another question: does the "try HZ=100" suggestion still apply
for these faster machines? I would think that if HZ=1000 is too fast,
then at least an occasional lost interrupt would be logged.
When using the TSC for time-of-day, I generally have to set tick to
10200 or somewhere thereabouts. ntpd usually gives up after a few hours,
though, so I presume that this value for tick is only good for a certain
combination of processor load and planetary alignment.
I booted with clock=pit to test that, and now I need tick=9963
(according to adjtimex's configuration routine). However, that makes the
clock jump all over the place, with ntpd making step adjustments +/- 2
seconds every 5 minutes.
> Approximately at what rate does it skew?
Well, it's not constant, and I don't trust the tick values given above,
since they don't seem to hold true for long.
> Does ntpdate -b <server> set it properly?
I'm confused. Are there cases where a step time adjustment would fail?
Is there a possibility that the kernel is rejecting ntpd's step
adjustments? (I presume that these use the same as 'ntpdate -b';
specifically, the time is not slewed.)
> Are you also seeing the "Loosing too many ticks!" message?
Never seen it.
Other miscellaneous info:
dmesg:
> Enabling APIC mode: Flat. Using 1 I/O APICs
...
> CPU: CLK_CTL MSR was 6003d22f. Reprogramming to 2003d22f
(does this have anything to do with the TSC?)
> Using local APIC timer interrupts.
> calibrating APIC timer ...
> ..... CPU clock speed is 1666.0503 MHz.
> ..... host bus clock speed is 266.0640 MHz.
> checking TSC synchronization across 2 CPUs: passed.
(note this still appears when using clock=pit)
lspci:
00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P]
System Controller (rev 11)
00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P]
AGP Bridge
00:07.0 ISA bridge: Advanced Micro Devices [AMD] AMD-766 [ViperPlus] ISA
(rev 02)
00:07.1 IDE interface: Advanced Micro Devices [AMD] AMD-766 [ViperPlus]
IDE (rev 01)
00:07.3 Bridge: Advanced Micro Devices [AMD] AMD-766 [ViperPlus] ACPI
(rev 01)
CPU-selection portions of .config:
CONFIG_MK7=y
[...]
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
CONFIG_PREEMPT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
(rest available on request)
I am open to suggestions for testing.
Also, how much has the kernel changed with respect to the PLL used by ntpd?
thanks,
--
Charles Lepple <ghz.cc!clepple>
next prev parent reply other threads:[~2003-08-15 0:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-13 1:47 2.6.0-test3 "loosing ticks" timothy parkinson
2003-08-13 16:54 ` john stultz
2003-08-14 17:17 ` Jamie Lokier
2003-08-14 17:28 ` john stultz
2003-08-14 21:58 ` Jamie Lokier
2003-08-15 0:19 ` Charles Lepple [this message]
2003-08-15 12:10 ` PIT, TSC and power management [was: Re: 2.6.0-test3 "loosing ticks"] Jamie Lokier
2003-08-15 17:48 ` john stultz
2003-08-15 18:53 ` PIT, TSC and power management [was: Re: 2.6.0-test3 "loosingticks"] Charles Lepple
2003-08-15 23:12 ` PIT, TSC and power management [was: Re: 2.6.0-test3 "loosing ticks"] Jamie Lokier
2003-08-15 23:25 ` john stultz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3F3C272E.7060702@ghz.cc \
--to=clepple@ghz.cc \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox