linux/arch/powerpc/platforms/pseries
Michael Bringmann e67e02a544 powerpc/pseries: Fix cpu hotplug crash with memoryless nodes
On powerpc systems with shared configurations of CPUs and memory and
memoryless nodes at boot, an event ordering problem was observed on a
SLES12 build platforms with the hot-add of CPUs to the memoryless
nodes.

* The most common error occurred when the memory SLAB driver attempted
  to reference the memoryless node to which a CPU was being added
  before the kernel had finished initializing all of the data
  structures for the CPU and exited 'device_online' under
  DLPAR/hot-add.

  Normally the memoryless node would be initialized through the call
  path device_online ... arch_update_cpu_topology ... find_cpu_nid ...
  try_online_node. This patch ensures that the powerpc node will be
  initialized as early as possible, even if it was memoryless and
  CPU-less at the point when we are trying to hot-add a new CPU to it.

Signed-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com>
Reviewed-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-01-27 20:59:45 +11:00
..
cmm.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
dlpar.c powerpc/pseries: Make RAS IRQ explicitly dependent on DLPAR WQ 2018-01-08 14:54:32 +11:00
dtl.c powerpc: Create asm/debugfs.h and move powerpc_debugfs_root there 2017-04-11 07:46:03 +10:00
eeh_pseries.c powerpc/eeh: Add EEH operations to notify resume 2018-01-27 20:02:52 +11:00
event_sources.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
firmware.c powerpc/firmware: Add definitions for new drc-info firmware feature 2018-01-21 16:21:40 +11:00
hotplug-cpu.c powerpc/pseries: Fix cpu hotplug crash with memoryless nodes 2018-01-27 20:59:45 +11:00
hotplug-memory.c powerpc: Move of_drconf_cell struct to asm/drmem.h 2018-01-16 23:26:29 +11:00
hvCall_inst.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
hvCall.S powerpc/asm: Convert .llong directives to .8byte 2017-08-31 14:26:47 +10:00
hvconsole.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
hvcserver.c powerpc/pseries/hvcserver: don't memset pi_buff if it is null 2015-10-09 08:03:03 +11:00
ibmebus.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
io_event_irq.c powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
iommu.c powerpc: Use pr_warn instead of pr_warning 2017-12-04 11:54:34 +11:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kexec.c powerpc/xive: guest exploitation of the XIVE interrupt controller 2017-09-02 21:02:35 +10:00
lpar.c powerpc/64s: Replace CONFIG_PPC_STD_MMU_64 with CONFIG_PPC_BOOK3S_64 2017-11-06 16:48:14 +11:00
lparcfg.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mobility.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
msi.c powerpc/pci: Remove OF node back pointer from pci_dn 2017-08-31 14:26:12 +10:00
nvram.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
of_helpers.c pseries/drc-info: Search DRC properties for CPU indexes 2018-01-21 16:21:46 +11:00
of_helpers.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
offline_states.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci_dlpar.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
pci.c powerpc/pseries/pci: Associate PEs to VFs in configure SR-IOV 2018-01-27 20:02:53 +11:00
power.c powerpc/sparse: Include headers containing prototypes 2016-06-16 22:40:19 +10:00
pseries_energy.c pseries/drc-info: Search DRC properties for CPU indexes 2018-01-21 16:21:46 +11:00
pseries.h powerpc/pseries: Make RAS IRQ explicitly dependent on DLPAR WQ 2018-01-08 14:54:32 +11:00
ras.c powerpc/pseries: Make RAS IRQ explicitly dependent on DLPAR WQ 2018-01-08 14:54:32 +11:00
reconfig.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
rng.c powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
scanlog.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
setup.c powerpc/pseries: Add Initialization of VF Bars 2018-01-27 20:02:53 +11:00
smp.c powerpc/xive: guest exploitation of the XIVE interrupt controller 2017-09-02 21:02:35 +10:00
suspend.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
vio.c powerpc/pseries/vio: Dispose of virq mapping on vdevice unregister 2017-11-06 16:48:11 +11:00