On Wed, Oct 18, 2006 at 01:39:55AM +0200, Blaisorblade wrote: > Jeff, I remember vaguely a recent (>=2.6.17) patch about udelay fixing a > misbehaviour, would you please complete my recollection and verify the > interaction with this?
There were two problems. One was that the declaration and definition of most arch __const_udelay were mismatched. It was simply a name mismatch, would not cause miscompilation, but did cause conceptual problems: arch/i386/lib/delay.c: inline void __const_udelay(unsigned long xloops) include/asm-i386/delay.h: extern void __const_udelay(unsigned long usecs); I'm also somewhat interested in how something that's defined inline in a C file will be accessible to other files such that an extern declaration would be needed. The second problem (IIRC) was the mismatch you noted, although I can't find that part of the patch any more. I didn't understand the magic constants in asm-i386/delay.h, and didn't see the comments in arch/i386/lib/delay.c, which might have helped. > This bug is here at least since 2.6.16. > Suggested solution: > 1) have _our own_ delay.h, to avoid depending on subarchs' changes > 2) first avoid playing so complex tricks, then maybe copy their > implementation (note it is slightly different already among x86 and > x86_64). This sounds reasonable. 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-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel