stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com>,
	Tyrel Datwyler <tyreld@linux.vnet.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Sasha Levin <sashal@kernel.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: [PATCH AUTOSEL 4.9 06/66] powerpc/pseries: Disable CPU hotplug across migrations
Date: Sat,  9 Nov 2019 21:47:45 -0500	[thread overview]
Message-ID: <20191110024846.32598-6-sashal@kernel.org> (raw)
In-Reply-To: <20191110024846.32598-1-sashal@kernel.org>

From: Nathan Fontenot <nfont@linux.vnet.ibm.com>

[ Upstream commit 85a88cabad57d26d826dd94ea34d3a785824d802 ]

When performing partition migrations all present CPUs must be online
as all present CPUs must make the H_JOIN call as part of the migration
process. Once all present CPUs make the H_JOIN call, one CPU is returned
to make the rtas call to perform the migration to the destination system.

During testing of migration and changing the SMT state we have found
instances where CPUs are offlined, as part of the SMT state change,
before they make the H_JOIN call. This results in a hung system where
every CPU is either in H_JOIN or offline.

To prevent this this patch disables CPU hotplug during the migration
process.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Reviewed-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/powerpc/kernel/rtas.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index a309a7a29cc60..641f3e4c33808 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -984,6 +984,7 @@ int rtas_ibm_suspend_me(u64 handle)
 		goto out;
 	}
 
+	cpu_hotplug_disable();
 	stop_topology_update();
 
 	/* Call function on all CPUs.  One of us will make the
@@ -998,6 +999,7 @@ int rtas_ibm_suspend_me(u64 handle)
 		printk(KERN_ERR "Error doing global join\n");
 
 	start_topology_update();
+	cpu_hotplug_enable();
 
 	/* Take down CPUs not online prior to suspend */
 	cpuret = rtas_offline_cpus_mask(offline_mask);
-- 
2.20.1


  parent reply	other threads:[~2019-11-10  3:02 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-10  2:47 [PATCH AUTOSEL 4.9 01/66] s390/qeth: invoke softirqs after napi_schedule() Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 02/66] PCI/ACPI: Correct error message for ASPM disabling Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 03/66] serial: mxs-auart: Fix potential infinite loop Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 04/66] powerpc/iommu: Avoid derefence before pointer check Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 05/66] powerpc/64s/hash: Fix stab_rr off by one initialization Sasha Levin
2019-11-10  2:47 ` Sasha Levin [this message]
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 07/66] RDMA/i40iw: Fix incorrect iterator type Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 08/66] libfdt: Ensure INT_MAX is defined in libfdt_env.h Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 09/66] power: supply: twl4030_charger: fix charging current out-of-bounds Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 10/66] power: supply: twl4030_charger: disable eoc interrupt on linear charge Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 11/66] net: toshiba: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 12/66] net: xilinx: " Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 13/66] net: broadcom: " Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 14/66] net: amd: " Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 15/66] usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 16/66] usb: chipidea: Fix otg event handler Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 17/66] mlxsw: spectrum: Init shaper for TCs 8..15 Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 18/66] ARM: dts: am335x-evm: fix number of cpsw Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 19/66] f2fs: fix to recover inode's uid/gid during POR Sasha Levin
2019-11-10  2:47 ` [PATCH AUTOSEL 4.9 20/66] ARM: dts: ux500: Correct SCU unit address Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 21/66] ARM: dts: ux500: Fix LCDA clock line muxing Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 22/66] ARM: dts: ste: Fix SPI controller node names Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 23/66] spi: pic32: Use proper enum in dmaengine_prep_slave_rg Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 24/66] cpufeature: avoid warning when compiling with clang Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 25/66] ARM: dts: marvell: Fix SPI and I2C bus warnings Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 26/66] bnx2x: Ignore bandwidth attention in single function mode Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 27/66] net: micrel: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 28/66] x86/CPU: Use correct macros for Cyrix calls Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 29/66] MIPS: kexec: Relax memory restriction Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 30/66] media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init() Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 31/66] media: au0828: Fix incorrect error messages Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 32/66] media: davinci: Fix implicit enum conversion warning Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 33/66] usb: gadget: uvc: configfs: Drop leaked references to config items Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 34/66] usb: gadget: uvc: configfs: Prevent format changes after linking header Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 35/66] phy: phy-twl4030-usb: fix denied runtime access Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 36/66] usb: gadget: uvc: Factor out video USB request queueing Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 37/66] usb: gadget: uvc: Only halt video streaming endpoint in bulk mode Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 38/66] coresight: Fix handling of sinks Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 39/66] coresight: etm4x: Configure EL2 exception level when kernel is running in HYP Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 40/66] coresight: tmc: Fix byte-address alignment for RRP Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 41/66] misc: kgdbts: Fix restrict error Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 42/66] misc: genwqe: should return proper error value Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 43/66] vfio/pci: Fix potential memory leak in vfio_msi_cap_len Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 44/66] vfio/pci: Mask buggy SR-IOV VF INTx support Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 45/66] scsi: libsas: always unregister the old device if going to discover new Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 46/66] ARM: dts: tegra30: fix xcvr-setup-use-fuses Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 47/66] ARM: tegra: apalis_t30: fix mmc1 cmd pull-up Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 48/66] ARM: dts: paz00: fix wakeup gpio keycode Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 49/66] net: smsc: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 50/66] EDAC: Raise the maximum number of memory controllers Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 51/66] ARM: dts: realview: Fix SPI controller node names Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 52/66] Bluetooth: L2CAP: Detect if remote is not able to use the whole MPS Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 53/66] crypto: s5p-sss: Fix Fix argument list alignment Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 54/66] crypto: fix a memory leak in rsa-kcs1pad's encryption mode Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 55/66] scsi: NCR5380: Clear all unissued commands on host reset Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 56/66] scsi: NCR5380: Use DRIVER_SENSE to indicate valid sense data Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 57/66] scsi: NCR5380: Check for invalid reselection target Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 58/66] scsi: NCR5380: Don't clear busy flag when abort fails Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 59/66] scsi: NCR5380: Don't call dsprintk() following reselection interrupt Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 60/66] scsi: NCR5380: Handle BUS FREE during reselection Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 61/66] arm64: dts: amd: Fix SPI bus warnings Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 62/66] arm64: dts: lg: Fix SPI controller node names Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 63/66] ARM: dts: lpc32xx: " Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 64/66] usb: xhci-mtk: fix ISOC error when interval is zero Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 65/66] fuse: use READ_ONCE on congestion_threshold and max_background Sasha Levin
2019-11-10  2:48 ` [PATCH AUTOSEL 4.9 66/66] IB/iser: Fix possible NULL deref at iser_inv_desc() Sasha Levin

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=20191110024846.32598-6-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=nfont@linux.vnet.ibm.com \
    --cc=stable@vger.kernel.org \
    --cc=tyreld@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).