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
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel