[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FCCE7FB.3000301@linux.vnet.ibm.com>
Date: Mon, 04 Jun 2012 22:23:15 +0530
From: "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To: Thomas Gleixner <tglx@...utronix.de>
CC: Sam Ravnborg <sam@...nborg.org>, peterz@...radead.org,
paulmck@...ux.vnet.ibm.com, rusty@...tcorp.com.au,
mingo@...nel.org, yong.zhang0@...il.com, akpm@...ux-foundation.org,
vatsa@...ux.vnet.ibm.com, rjw@...k.pl, linux-arch@...r.kernel.org,
linux-kernel@...r.kernel.org, nikunj@...ux.vnet.ibm.com,
Suresh Siddha <suresh.b.siddha@...el.com>,
Venkatesh Pallipadi <venki@...gle.com>
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists