Re: [PATCH 01/27] smpboot: Provide a generic method to boot secondaryprocessors

From: Srivatsa S. Bhat
Date: Mon Jun 04 2012 - 12:55:30 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/