All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for Qais Yousef" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Qais Yousef <qais.yousef@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, x86 <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: [tip: smp/core] cpu/hotplug: Provide bringup_hibernate_cpu()
Date: Wed, 25 Mar 2020 12:06:04 -0000	[thread overview]
Message-ID: <158513796426.28353.8056419656819969368.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20200323135110.30522-9-qais.yousef@arm.com>

The following commit has been merged into the smp/core branch of tip:

Commit-ID:     d720f98604391dab6aa3cb4c1bc005ed1aba4703
Gitweb:        https://git.kernel.org/tip/d720f98604391dab6aa3cb4c1bc005ed1aba4703
Author:        Qais Yousef <qais.yousef@arm.com>
AuthorDate:    Mon, 23 Mar 2020 13:51:01 
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 25 Mar 2020 12:59:34 +01:00

cpu/hotplug: Provide bringup_hibernate_cpu()

arm64 uses cpu_up() in the resume from hibernation code to ensure that the
CPU on which the system hibernated is online. Provide a core function for
this.

[ tglx: Split out from the combo arm64 patch ]

Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lkml.kernel.org/r/20200323135110.30522-9-qais.yousef@arm.com

---
 include/linux/cpu.h |  1 +
 kernel/cpu.c        | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/include/linux/cpu.h b/include/linux/cpu.h
index 64a246e..9dc1e89 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -93,6 +93,7 @@ int add_cpu(unsigned int cpu);
 void notify_cpu_starting(unsigned int cpu);
 extern void cpu_maps_update_begin(void);
 extern void cpu_maps_update_done(void);
+int bringup_hibernate_cpu(unsigned int sleep_cpu);
 
 #else	/* CONFIG_SMP */
 #define cpuhp_tasks_frozen	0
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 03c7271..f803678 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -1275,6 +1275,29 @@ int add_cpu(unsigned int cpu)
 }
 EXPORT_SYMBOL_GPL(add_cpu);
 
+/**
+ * bringup_hibernate_cpu - Bring up the CPU that we hibernated on
+ * @sleep_cpu: The cpu we hibernated on and should be brought up.
+ *
+ * On some architectures like arm64, we can hibernate on any CPU, but on
+ * wake up the CPU we hibernated on might be offline as a side effect of
+ * using maxcpus= for example.
+ */
+int bringup_hibernate_cpu(unsigned int sleep_cpu)
+{
+	int ret;
+
+	if (!cpu_online(sleep_cpu)) {
+		pr_info("Hibernated on a CPU that is offline! Bringing CPU up.\n");
+		ret = cpu_up(sleep_cpu);
+		if (ret) {
+			pr_err("Failed to bring hibernate-CPU up!\n");
+			return ret;
+		}
+	}
+	return 0;
+}
+
 #ifdef CONFIG_PM_SLEEP_SMP
 static cpumask_var_t frozen_cpus;
 

  parent reply	other threads:[~2020-03-25 12:06 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-23 13:50 [PATCH v4 00/17] Convert cpu_up/down to device_online/offline Qais Yousef
2020-03-23 13:50 ` Qais Yousef
2020-03-23 13:50 ` [Xen-devel] " Qais Yousef
2020-03-23 13:50 ` Qais Yousef
2020-03-23 13:50 ` Qais Yousef
2020-03-23 13:50 ` Qais Yousef
2020-03-23 13:50 ` [PATCH v4 01/17] cpu: Add new {add,remove}_cpu() functions Qais Yousef
2020-03-23 13:50   ` [Xen-devel] [PATCH v4 01/17] cpu: Add new {add, remove}_cpu() functions Qais Yousef
2020-03-23 13:50   ` [PATCH v4 01/17] cpu: Add new {add,remove}_cpu() functions Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-23 15:00   ` Paul E. McKenney
2020-03-23 15:00     ` Paul E. McKenney
2020-03-23 15:00     ` Paul E. McKenney
2020-03-23 15:00     ` Paul E. McKenney
2020-03-23 15:00     ` Paul E. McKenney
2020-03-25 12:06   ` [tip: smp/core] cpu/hotplug: " tip-bot2 for Qais Yousef
2020-03-23 13:50 ` [PATCH v4 02/17] smp: Create a new function to shutdown nonboot cpus Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] cpu/hotplug: " tip-bot2 for Qais Yousef
2020-03-23 13:50 ` [PATCH v4 03/17] ia64: Replace cpu_down with smp_shutdown_nonboot_cpus() Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] ia64: Replace cpu_down() " tip-bot2 for Qais Yousef
2020-03-23 13:50 ` [PATCH v4 04/17] arm: Don't use disable_nonboot_cpus() Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] ARM: " tip-bot2 for Qais Yousef
2020-03-23 13:50 ` [PATCH v4 05/17] arm: Use reboot_cpu instead of hardcoding it to 0 Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] ARM: " tip-bot2 for Qais Yousef
2020-03-23 13:50 ` [PATCH v4 06/17] arm64: Don't use disable_nonboot_cpus() Qais Yousef
2020-03-23 13:50   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] " tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 07/17] arm64: Use reboot_cpu instead of hardconding it to 0 Qais Yousef
2020-03-23 13:51   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] " tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 08/17] arm64: hibernate.c: Create a new function to handle cpu_up(sleep_cpu) Qais Yousef
2020-03-23 13:51   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] arm64: hibernate: Use bringup_hibernate_cpu() tip-bot2 for Qais Yousef
2020-03-25 12:06   ` tip-bot2 for Qais Yousef [this message]
2020-03-23 13:51 ` [PATCH v4 09/17] x86: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] x86/smp: Replace cpu_up/down() with add/remove_cpu() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 10/17] powerpc: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-03-23 13:51   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] powerpc: Replace cpu_up/down() with add/remove_cpu() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 11/17] sparc: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] sparc: Replace cpu_up/down() with add/remove_cpu() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 12/17] parisc: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] parisc: Replace cpu_up/down() with add/remove_cpu() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 13/17] driver: xen: Replace cpu_up/down with device_online/offline Qais Yousef
2020-03-23 13:51   ` [Xen-devel] " Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] xen/cpuhotplug: Replace cpu_up/down() with device_online/offline() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 14/17] firmware: psci: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-03-23 13:51   ` Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] firmware: psci: Replace cpu_up/down() with add/remove_cpu() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 15/17] torture: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] torture: Replace cpu_up/down() with add/remove_cpu() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 16/17] smp: Create a new function to bringup nonboot cpus online Qais Yousef
2020-03-25 12:06   ` [tip: smp/core] cpu/hotplug: Move bringup of secondary CPUs out of smp_init() tip-bot2 for Qais Yousef
2020-03-23 13:51 ` [PATCH v4 17/17] cpu: Hide cpu_up/down Qais Yousef
2020-03-25 12:05   ` [tip: smp/core] cpu/hotplug: Hide cpu_up/down() tip-bot2 for Qais Yousef

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=158513796426.28353.8056419656819969368.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=catalin.marinas@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=qais.yousef@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.