linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Cc: Robert Jennings <rcj@linux.vnet.ibm.com>,
	linuxppc-dev@lists.ozlabs.org, nfont@linux.vnet.ibm.com
Subject: Re: Build failure with 3.9.3 (Regression 3.9.2->3.9.3)
Date: Wed, 22 May 2013 01:02:48 +0530	[thread overview]
Message-ID: <519BCBE0.5020904@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130520151411.GD27420@os.inf.tu-dresden.de>

On 05/20/2013 08:44 PM, Adam Lackorzynski wrote:
> Hi,
> 
> 3.9.3 introduced the following build failure:
> 
>   CC      arch/powerpc/kernel/rtas.o
> arch/powerpc/kernel/rtas.c: In function ‘rtas_cpu_state_change_mask’:
> arch/powerpc/kernel/rtas.c:843:4: error: implicit declaration of function ‘cpu_down’ [-Werror=implicit-function-declaration]
> cc1: all warnings being treated as errors
> make[1]: *** [arch/powerpc/kernel/rtas.o] Error 1
> make: *** [arch/powerpc/kernel] Error 2
> 
> My kernel config has CONFIG_HOTPLUG_CPU off, that's why cpu_down is not
> defined. Shall CONFIG_HOTPLUG_CPU just be enabled or should the code in
> rtas.c be adapted?
> 

I think we should just enable CONFIG_HOTPLUG_CPU. I don't see any other
solution to this problem. The changelog of the below (untested) patch
explains the reasoning. (BTW, I'm not sure if this is the best way to
alter the Kconfig in order to enable both HOTPLUG and HOTPLUG_CPU. If
there is a better way to do it, let's go for it).

Also, this patch applies on current mainline. We need a separate backport
for 3.9 (because current mainline has a new line - "select HAVE_CONTEXT_TRACKING"
which is not present in 3.9, and this interferes with the patch).

Regards,
Srivatsa S. Bhat

-------------------------------------------------------------------------


From: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Subject: [PATCH] powerpc: Enable CONFIG_HOTPLUG_CPU on PPC_PSERIES SMP builds

Adam Lackorzynski reported the following build failure on
!CONFIG_HOTPLUG_CPU configuration:

  CC      arch/powerpc/kernel/rtas.o
arch/powerpc/kernel/rtas.c: In function ‘rtas_cpu_state_change_mask’:
arch/powerpc/kernel/rtas.c:843:4: error: implicit declaration of function ‘cpu_down’ [-Werror=implicit-function-declaration]
cc1: all warnings being treated as errors
make[1]: *** [arch/powerpc/kernel/rtas.o] Error 1
make: *** [arch/powerpc/kernel] Error 2

The build fails because cpu_down() is defined only under CONFIG_HOTPLUG_CPU.

Looking further, the mobility code in pseries is one of the call-sites which
uses rtas_ibm_suspend_me(), which in turn calls rtas_cpu_state_change_mask().
And the mobility code is unconditionally compiled-in (it does not fall under
any Kconfig option). And commit 120496ac (powerpc: Bring all threads online
prior to migration/hibernation) which introduced this build regression is
critical for the proper functioning of the migration code. So it appears
that the only solution to this problem is to enable CONFIG_HOTPLUG_CPU if
SMP is enabled on PPC_PSERIES platforms. So make that change in the Kconfig.

Reported-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Cc: stable@vger.kernel.org
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
---

 arch/powerpc/platforms/pseries/Kconfig |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig
index 023b288..4459eff 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -19,6 +19,8 @@ config PPC_PSERIES
 	select ZLIB_DEFLATE
 	select PPC_DOORBELL
 	select HAVE_CONTEXT_TRACKING
+	select HOTPLUG if SMP
+	select HOTPLUG_CPU if SMP
 	default y
 
 config PPC_SPLPAR

      reply	other threads:[~2013-05-21 19:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-20 15:14 Build failure with 3.9.3 (Regression 3.9.2->3.9.3) Adam Lackorzynski
2013-05-21 19:32 ` Srivatsa S. Bhat [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=519BCBE0.5020904@linux.vnet.ibm.com \
    --to=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=adam@os.inf.tu-dresden.de \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=nfont@linux.vnet.ibm.com \
    --cc=rcj@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).