On Mon, 4 Jun 2012, Srivatsa S. Bhat wrote:
On 06/04/2012 04:02 PM, Thomas Gleixner wrote:
I can add the prototype w/o the __weak prefix and the #ifndef magic in
include/linux/smpboot.h (which I will, and include it in v2).
However, I can't get rid of the #ifndef magic in kernel/smpboot.c because
it will cause build failures on x86.
I addressed this same issue in another email:
https://lkml.org/lkml/2012/6/3/33
In short, to avoid breaking build on x86.
We wanted to follow the x86 convention of having static inline functions in
arch/x86/include/asm/smp.h and use the smp_ops structure to route the calls
to x86 or xen as appropriate (see patch 4 in this series).
Oh no. That's not really a good argument.
There is no reason why this _must_ be an inline function on x86. It
can be a proper function in arch/x86/kernel/smpboot.c as well.
The alternative solution is to generalize the smp_ops approach and get
rid of the weak implementations completely.
Thanks,
tglx