Re: IO-APIC problem with 2.6.14-rt9

From: john stultz
Date: Thu Nov 10 2005 - 16:42:49 EST


On Thu, 2005-11-10 at 22:04 +0100, Ingo Molnar wrote:
> * john stultz <johnstul@xxxxxxxxxx> wrote:
>
> > > > //#define ARCH_HAS_READ_CURRENT_TIMER 1
> > > >
> > > > to:
> > > >
> > > > #define ARCH_HAS_READ_CURRENT_TIMER 1
> > > >
> > > > ?
> > >
> > > It works !! Thanks Ingo for the immediate response
> >
> > Hrm. Could you post the value for BogoMIPS that you're getting now?
> >
> > My patches touch the __delay() code, since using the TSC based delay
> > has just as many, if not more, problems as the loop based delay. So I
> > want to be careful that my changes are not further causing problems.
> >
> > Ingo, did you commented out ARCH_HAS_READ_CURRENT_TIMER because of
> > problems with the new calibration code?
>
> yes. traces show that the new calibration code results in a bogomips
> value on Athlon64 CPUs that halve the timeout. I.e. udelay(100) now
> takes 50 usecs (!). The calibration code seems to assume the number of
> cycles == number of loops in __delay() - that is not valid.

Yea, that makes sense, because the READ_CURRENT_TIMER calibration is all
TSC based and with my code we use the loop based delay (since the TSC
based one can have a number of problems). So that doesn't mesh well when
the loop/cycle values are not equivalent.

That still leaves open the question why Dinakar is seeing issues w/ the
loop based calibration, but I've got some similar hardware in my lab, so
I can probably work that out.

I'll see if I can't avoid touching the delay code. Its such a sketchy
calibration sensitive code path that I'd really like to see it killed,
but maybe there's something simple that can be done.

Grumble. :( I was hoping to submit my tod code to Andrew tomorrow, but
this might block that.

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/