On Fri, Jul 14, 2006 at 08:59:10PM +0200, Blaisorblade wrote:
> Sorry, since when does the udelay interface means "cycles to wait"? It's very
> strange... and the i386 prototype is very likely correct...

The i386 prototype is

        extern void __const_udelay(unsigned long usecs);

while the implementation is

        inline void __const_udelay(unsigned long xloops)

At the very least, the variable names should not suggest different
units, and my patch changes that.  However, the thinking behind the
patch was wrong, as I didn't notice this calculation when scanning the
other arches:

        n *= 4;

        n *= (cpu_data(raw_smp_processor_id()).udelay_val * (HZ/4));
        n >>= 32;

This is taken from sparc64, which has a C version of what i386 does in
asm.  On i386, .udelay_val is .loops_per_jiffy.

Dimensional analysis suggests that the units of xloops is
seconds, so the xloops name would seem to be wrong.

                                Jeff


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to