* Andrew Morton ([EMAIL PROTECTED]) wrote: > > +#ifdef CONFIG_COND_CALL_ENABLE_OPTIMIZATION > > +#include <asm/condcall.h> /* optimized cond_call flavor */ > > +#else > > +#include <asm-generic/condcall.h> /* fallback on generic cond_call */ > > +#endif > > The preferred way to do this is to give every architecture an > asm/condcall.h and from within that, include asm-generic/condcall.h. Your > [patch 3/9] does most of that, but it didn't remove the above ifdef, and I > don't think it removed the should-be-unneeded > CONFIG_COND_CALL_ENABLE_OPTIMIZATION either? >
Conditional calls works just like the previous markers in this aspect : in order to support embedded systems with read-only memory for the text segment, I leave the choice to disable the "optimized" cond_call as a config option even if the architecture has the optimized marker flavor. I use this include scheme because I want to support both the generic and optimized version at the same time : if a _cond_call is declared with the CF_OPTIMIZED flags unset, it will use the generic version. This is useful when we must place cond_calls in locations that present specific reentrancy issues, such as cond_call, printk, some trap handlers. The optimized version, when it uses the i386 mechanism to insure correct code modification, can trigger a trap, which will call into lockdep and might have other side-effects. (I am adding this text in the condcall.h header) Mathieu -- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/