Re: Fwd: Re: [PATCH] linux-2.5.54_delay-cleanup_A0

From: john stultz (johnstul@us.ibm.com)
Date: Fri Jan 17 2003 - 22:33:12 EST


> Hi!

Hey! Hmm. Odd, this email never got to me directly, instead I found it
through lkml. Hopefully my mail isn't bouncing somewhere...
 

> > +static void delay_pit(unsigned long loops)
> > +{
> > + int d0;
> > + __asm__ __volatile__(
> > + "\tjmp 1f\n"
> > + ".align 16\n"
> > + "1:\tjmp 2f\n"
> > + ".align 16\n"
> > + "2:\tdecl %0\n\tjns 2b"
> > + :"=&a" (d0)
> > + :"0" (loops));
> > +}
> > +
>
> But... this is not using pit to do the delay, right? It is sensitive
> to CPU clock changes, pit-delay should not be.

You're right, basically I took the previous __loop_delay() and
__rtsc_delay() and moved them to delay_pit() and delay_tsc(),
respectively. I guess the naming is somewhat confusing, but since this
was meant as just a cleanup, I'm trying to use the same code in the same
conditions.(ie: when using the PIT time-source, use the loop delay. when
using the TSC time-source, use the TSC delay). A changing the name or a
comment explaining it would def clear that up.

You do bring up an interesting idea: actually using the PIT to do
__delay. I think its possible, but not really worth it, as the PIT is
such a nasty bit of hardware to deal with. I'd guess that just reading
the PIT would likely delay for more time then what was actually
requested.

Thanks for the feedback!
-john

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



This archive was generated by hypermail 2b29 : Thu Jan 23 2003 - 22:00:17 EST