[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090123110439.GK15188@elte.hu>
Date: Fri, 23 Jan 2009 12:04:39 +0100
From: Ingo Molnar <mingo@...e.hu>
To: john stultz <johnstul@...ibm.com>
Cc: Miklos Vajna <vmiklos@...galware.org>,
Florian Fainelli <florian.fainelli@...ecomint.eu>,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Gabriel C <nix.or.die@...glemail.com>,
CSÉCSY László <boobaa@...galware.org>
Subject: Re: System clock runs too fast after 2.6.27 -> 2.6.28.1 upgrade
* john stultz <johnstul@...ibm.com> wrote:
> On Fri, 2009-01-23 at 00:57 +0100, Miklos Vajna wrote:
> > On Thu, Jan 22, 2009 at 12:03:14PM -0800, john stultz
> > > CONFIG_X86_VISWS: If I recall, this is support for SGI workstations that
> > > had different apics then most systems, and might be related.
> > >
> > I just did a new build with CONFIG_X86_VISWS and CONFIG_X86_RDC321X
> > disabled, but I kept CONFIG_PARAVIRT_GUEST enabled and that works fine
> > as well. So CONFIG_PARAVIRT_GUEST seems to be unrelated.
>
> Ah. CONFIG_X86_RDC321X is indeed the issue.
>
> >From arch/x86/include/asm/timex.h:
>
> #ifdef CONFIG_X86_ELAN
> # define PIT_TICK_RATE 1189200 /* AMD Elan has different frequency! */
> #elif defined(CONFIG_X86_RDC321X)
> # define PIT_TICK_RATE 1041667 /* Underlying HZ for R8610 */
> #else
> # define PIT_TICK_RATE 1193182 /* Underlying HZ */
> #endif
>
> This gives the kernel an incorrect slower frequency for the PIT hardware
> on your system and is why the TSC calibration is off and why the ACPI PM
> gets thrown out.
>
> I'd think this would ideally be more of a subarch in the config
> selection like the AMD Elan is, so folks know it really is not just a
> extra-support feature and in fact limits what hardware you can use the
> resulting kernel on.
a better solution is that if RDC is set [it is unset by default] we should
turn PIT_TICK_RATE into a variable, defaulting it to 1193182. If a real
RDC or ELAN system is running, that variable is changed during early
bootup, in the init functions for those platforms.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists