On 06/04/2012 06:48 PM, Thomas Gleixner wrote: > 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. > Ok, I'll adopt this approach. > The alternative solution is to generalize the smp_ops approach and get > rid of the weak implementations completely. > Ok, but this would mean changes to all architectures, which could be avoided. One reason why x86 uses that smp_ops structure is because it decides the implementation routines between x86 and xen at run-time. Such requirements don't exist on other architectures, from what I saw (except sparc32). So I'll stick with the former approach of adding a proper function for x86, and retaining the default weak implementations in kernel/smpboot.c. Regards, Srivatsa S. Bhat -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html