linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc/pseries: Disable CPU hotplug across migrations
@ 2018-09-17 19:14 Nathan Fontenot
  2018-09-17 20:41 ` Tyrel Datwyler
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Nathan Fontenot @ 2018-09-17 19:14 UTC (permalink / raw)
  To: linuxppc-dev

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>
---
 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 8afd146bc9c7..2c7ed31c736e 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -981,6 +981,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
@@ -995,6 +996,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);

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-09-25  6:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-17 19:14 [PATCH] powerpc/pseries: Disable CPU hotplug across migrations Nathan Fontenot
2018-09-17 20:41 ` Tyrel Datwyler
2018-09-18 10:32 ` Gautham R Shenoy
2018-09-20 15:03   ` Nathan Fontenot
2018-09-24  7:00     ` Michael Ellerman
2018-09-24  8:56       ` Gautham R Shenoy
2018-09-24 14:30         ` Nathan Fontenot
2018-09-24 20:49           ` Tyrel Datwyler
2018-09-25  0:38             ` Michael Ellerman
2018-09-25  0:42         ` Michael Ellerman
2018-09-25  6:19           ` Gautham R Shenoy
2018-09-20  4:21 ` Michael Ellerman

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).