[PATCH 0/8] reworked support for pSeries dynamic reconfiguration
Nathan Lynch
ntl at pobox.com
Thu Mar 10 11:51:32 EST 2005
Hi-
This patch series reworks existing ppc64 architecture support for the
"dynamic reconfiguration" option of RPA platforms. This includes PCI
hotplug and dynamic logical partitioning (DLPAR). This was all
motivated by my desire to add code for better handling of processor
addition and removal, but I didn't want to just add to the growing
mess in prom.c where we have duplicated code for boot and
DLPAR/hotplug.
This adds very little new function, but gets rid of much duplicated
code and introduces a new pSeries-specific file, pSeries_reconfig.c,
which contains the core support for dynamic reconfiguration and
implements a more refined version of the notifier chain API I posted a
few weeks ago. Code that needs to act upon device nodes that are
being added or removed can register with this notifier chain. I've
ported as much code as possible to that API, and I expect memory DLPAR
will want to use it too.
The last couple of patches in the series modify the pSeries smp code
so that we properly manage cpu_present_map with respect to DLPAR, and
includes the "make cpu hotplug play well with maxcpus and smt-enabled"
patch, which depends on this.
The following cases have been tested on a Power5 system:
* CPU add/remove
* Virtual I/O adapter add/remove
* Logical slot add/remove (thanks to John Rose)
I also checked the build against all defconfigs in arch/ppc64/configs.
diffstat for the combined series:
arch/ppc64/kernel/Makefile | 2
arch/ppc64/kernel/pSeries_iommu.c | 25
arch/ppc64/kernel/pSeries_reconfig.c | 427 +++++++++++++
arch/ppc64/kernel/pSeries_smp.c | 231 +++++--
arch/ppc64/kernel/pci_dn.c | 22
arch/ppc64/kernel/proc_ppc64.c | 249 --------
arch/ppc64/kernel/prom.c | 466 ++++-----------
arch/ppc64/kernel/setup.c | 12
arch/ppc64/kernel/smp.c | 13
include/asm-ppc64/machdep.h | 1
include/asm-ppc64/pSeries_reconfig.h | 25
include/asm-ppc64/prom.h | 4
12 files changed, 812 insertions(+), 665 deletions(-)
Thanks,
Nathan
More information about the Linuxppc64-dev
mailing list