* Re: [PATCH 07/32] arm: delete __cpuinit/__CPUINIT usage from all ARM users
[not found] ` <1372102237-8757-8-git-send-email-paul.gortmaker@windriver.com>
@ 2013-07-02 8:52 ` Joseph Lo
2013-07-02 8:58 ` Russell King - ARM Linux
0 siblings, 1 reply; 3+ messages in thread
From: Joseph Lo @ 2013-07-02 8:52 UTC (permalink / raw)
To: Paul Gortmaker
Cc: linux-kernel@vger.kernel.org, Russell King,
linux-arm-kernel@lists.infradead.org, Will Deacon, linux-tegra
Adding linux-tegra in Cc.
On Tue, 2013-06-25 at 03:30 +0800, Paul Gortmaker wrote:
> The __cpuinit type of throwaway sections might have made sense
> some time ago when RAM was more constrained, but now the savings
> do not offset the cost and complications. For example, the fix in
> commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
> is a good example of the nasty type of bugs that can be created
> with improper use of the various __init prefixes.
>
> After a discussion on LKML[1] it was decided that cpuinit should go
> the way of devinit and be phased out. Once all the users are gone,
> we can then finally remove the macros themselves from linux/init.h.
>
> Note that some harmless section mismatch warnings may result, since
> notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
> and are flagged as __cpuinit -- so if we remove the __cpuinit from
> the arch specific callers, we will also get section mismatch warnings.
> As an intermediate step, we intend to turn the linux/init.h cpuinit
> related content into no-ops as early as possible, since that will get
> rid of these warnings. In any case, they are temporary and harmless.
>
> This removes all the ARM uses of the __cpuinit macros from C code,
> and all __CPUINIT from assembly code. It also had two ".previous"
> section statements that were paired off against __CPUINIT
> (aka .section ".cpuinit.text") that also get removed here.
>
> [1] https://lkml.org/lkml/2013/5/20/589
>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
>
> [This commit is part of the __cpuinit removal work. If you don't see
> any problems with it, then you don't have to do anything ; it will be
> submitted with all the rest of the __cpuinit removal work. On the
> other hand, if you want to carry this patch in with your other pending
> changes so as to handle conflicts with other pending work yourself, then
> that is fine too, as the commits can largely be treated independently.
> For more information, please see: https://lkml.org/lkml/2013/6/20/513 ]
>
Hi Paul,
I just tested this series on Tegra platform. It looks broken CPU hotplug
function for Tegra at least. The CPU can't plug-in after unplugging. And
the system resume function also not working when "enable_nonboot_cpus".
Both of the issue cause system hang up. Are we missing something for
__cpuinit removal work?
Thanks,
Joseph
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 07/32] arm: delete __cpuinit/__CPUINIT usage from all ARM users
2013-07-02 8:52 ` [PATCH 07/32] arm: delete __cpuinit/__CPUINIT usage from all ARM users Joseph Lo
@ 2013-07-02 8:58 ` Russell King - ARM Linux
[not found] ` <20130702085818.GD24642-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Russell King - ARM Linux @ 2013-07-02 8:58 UTC (permalink / raw)
To: Joseph Lo
Cc: Paul Gortmaker, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, Will Deacon, linux-tegra
On Tue, Jul 02, 2013 at 04:52:00PM +0800, Joseph Lo wrote:
> I just tested this series on Tegra platform. It looks broken CPU hotplug
> function for Tegra at least. The CPU can't plug-in after unplugging. And
> the system resume function also not working when "enable_nonboot_cpus".
>
> Both of the issue cause system hang up. Are we missing something for
> __cpuinit removal work?
Check that any assembly code you're using where the __CPUINIT* marker has
been removed is not preceded by an __INIT or similar. This code needs
to end up in the normal .text, .data or .bss sections now.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 07/32] arm: delete __cpuinit/__CPUINIT usage from all ARM users
[not found] ` <20130702085818.GD24642-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
@ 2013-07-02 17:53 ` Paul Gortmaker
0 siblings, 0 replies; 3+ messages in thread
From: Paul Gortmaker @ 2013-07-02 17:53 UTC (permalink / raw)
To: Russell King - ARM Linux
Cc: Joseph Lo, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Will Deacon, linux-tegra-u79uwXL29TY76Z2rM5mHXA
[Re: [PATCH 07/32] arm: delete __cpuinit/__CPUINIT usage from all ARM users] On 02/07/2013 (Tue 09:58) Russell King - ARM Linux wrote:
> On Tue, Jul 02, 2013 at 04:52:00PM +0800, Joseph Lo wrote:
> > I just tested this series on Tegra platform. It looks broken CPU hotplug
> > function for Tegra at least. The CPU can't plug-in after unplugging. And
> > the system resume function also not working when "enable_nonboot_cpus".
> >
> > Both of the issue cause system hang up. Are we missing something for
> > __cpuinit removal work?
>
> Check that any assembly code you're using where the __CPUINIT* marker has
> been removed is not preceded by an __INIT or similar. This code needs
> to end up in the normal .text, .data or .bss sections now.
Yes, As Russell says it is entirely possible that the earlier section
was __INIT and there was already a missing __FINIT (or .previous).
Hence what was __cpuinit got grandfathered into __INIT instead of
.text/.data/.bss
I'm offline at the moment but will double check myself later this
evening if nothing obvious has been found by then.
Thanks,
Paul.
--
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-02 17:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1372102237-8757-1-git-send-email-paul.gortmaker@windriver.com>
[not found] ` <1372102237-8757-8-git-send-email-paul.gortmaker@windriver.com>
2013-07-02 8:52 ` [PATCH 07/32] arm: delete __cpuinit/__CPUINIT usage from all ARM users Joseph Lo
2013-07-02 8:58 ` Russell King - ARM Linux
[not found] ` <20130702085818.GD24642-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 17:53 ` Paul Gortmaker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox