public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joel Schopp <jschopp@austin.ibm.com>
To: akpm@osdl.org, anton@samba.org, paulus@samba.org
Cc: linuxppc64-dev@lists.linuxppc.org, linux-kernel@vger.kernel.org
Subject: [PATCH] cpu hotplug ppc64 bug
Date: Mon, 26 Jul 2004 18:34:23 -0500	[thread overview]
Message-ID: <410594FF.5040307@austin.ibm.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 532 bytes --]

On Power4 and earlier hardware there is no need to clear the CPPR (see 
RPAp 479 section 18.5.4.7.2 for what little info there is on the CPPR) 
when stopping a cpu. On hardware that uses Power5 an undocumented change 
has been made that requires the CPPR to be cleared if an isolate is to 
be done on the stopped cpu. So the following patch lets cpu hotplug work 
on the recent hardware.

I sent this patch to the ppc64-dev list back in mid April and Suse 
picked it up then for SLES9 so it has been well tested for several months.

[-- Attachment #2: jul26.patch --]
[-- Type: text/plain, Size: 1984 bytes --]

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1883  -> 1.1884 
#	include/asm-ppc64/xics.h	1.5     -> 1.6    
#	arch/ppc64/kernel/xics.c	1.45    -> 1.46   
#	arch/ppc64/kernel/smp.c	1.72    -> 1.73   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 04/07/26	jschopp@zippy.ltc.austin.ibm.com	1.1884
# Power5 has a requirement to clear the CPPR before doing a stop_self or isolates will fail later on.  Clearing the CPPR is OK on Power4 so just 
# added it to the path.
# --------------------------------------------
#
diff -Nru a/arch/ppc64/kernel/smp.c b/arch/ppc64/kernel/smp.c
--- a/arch/ppc64/kernel/smp.c	Mon Jul 26 18:26:45 2004
+++ b/arch/ppc64/kernel/smp.c	Mon Jul 26 18:26:45 2004
@@ -300,6 +300,10 @@
 void cpu_die(void)
 {
 	local_irq_disable();
+	/* Some hardware requires clearing the CPPR, while other hardware does not
+	 * it is safe either way
+	 */
+	pSeriesLP_cppr_info(0, 0);
 	rtas_stop_self();
 	/* Should never get here... */
 	BUG();
diff -Nru a/arch/ppc64/kernel/xics.c b/arch/ppc64/kernel/xics.c
--- a/arch/ppc64/kernel/xics.c	Mon Jul 26 18:26:45 2004
+++ b/arch/ppc64/kernel/xics.c	Mon Jul 26 18:26:45 2004
@@ -190,7 +190,7 @@
 		      val64); 
 }
 
-static void pSeriesLP_cppr_info(int n_cpu, u8 value)
+void pSeriesLP_cppr_info(int n_cpu, u8 value)
 {
 	unsigned long lpar_rc;
 
diff -Nru a/include/asm-ppc64/xics.h b/include/asm-ppc64/xics.h
--- a/include/asm-ppc64/xics.h	Mon Jul 26 18:26:45 2004
+++ b/include/asm-ppc64/xics.h	Mon Jul 26 18:26:45 2004
@@ -19,6 +19,9 @@
 void xics_setup_cpu(void);
 void xics_cause_IPI(int cpu);
 
+/* first argument is ignored for now*/
+void pSeriesLP_cppr_info(int n_cpu, u8 value);
+
 struct xics_ipi_struct {
 	volatile unsigned long value;
 } ____cacheline_aligned;

             reply	other threads:[~2004-07-26 23:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-26 23:34 Joel Schopp [this message]
2004-07-27 13:14 ` [PATCH] cpu hotplug ppc64 bug Paul Mackerras
2004-07-27 16:20   ` Joel Schopp

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=410594FF.5040307@austin.ibm.com \
    --to=jschopp@austin.ibm.com \
    --cc=akpm@osdl.org \
    --cc=anton@samba.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc64-dev@lists.linuxppc.org \
    --cc=paulus@samba.org \
    /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