lkml.org 
[lkml]   [2012]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 01/27] smpboot: Provide a generic method to boot secondary processors
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



\
 
 \ /
  Last update: 2012-06-04 19:41    [W:1.918 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site