Re: [RFC][PATCH] x86_64: Fix collision between pmtimer andpit/hpet timekeeping

From: john stultz
Date: Wed Dec 07 2005 - 12:59:47 EST


On Wed, 2005-12-07 at 18:53 +0100, Andi Kleen wrote:
> On Tue, Dec 06, 2005 at 09:00:39PM -0800, john stultz wrote:
> > Hello,
> > I thought I had caught all the problems when the no-legacy HPET support
> > landed close to the time that the ACPI PM timer support landed, but
> > apparently not. :(
> >
> > On systems that do not support the HPET legacy functions (basically the
> > IBM x460, but there could be others), in time_init() we accidentally
> > fall into a PM timer conditional and set the vxtime_hz value to the PM
> > timer's frequency. We then use this value with the HPET for timekeeping.
> >
> > This patch (which mimics the behavior in time_init_gtod) corrects the
> > collision.
> >
> > Andi, any objections or suggestions for a better way?
>
> Ok. I will apply it.
>
> But I never quite got why you fall back to the PIT on these systems
> anyways - if LEGSUP is not set it just means that the HPET interrupt
> cannot be routed to irq 0, right? It should be quite easy to change
> the timer code to accept timer interrupts on other irqs.
>
> You just need to allocate the other interrupt and possibly coordinate
> that with the hpet char driver (or rather move the code for that
> from there to time.c). I think implementing that would be a better
> solution.

Indeed that does sound like a decent cleanup. I can't promise anything
in the near future, but its on my list.

Would you then want to move all systems to use the non-legacy HPET
interrupt?

thanks
-john


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/