From: Qais Yousef <qais.yousef@arm.com> To: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org, Qais Yousef <qais.yousef@arm.com>, Russell King <linux@armlinux.org.uk>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 04/17] arm: Don't use disable_nonboot_cpus() Date: Mon, 23 Mar 2020 13:50:57 +0000 [thread overview] Message-ID: <20200323135110.30522-5-qais.yousef@arm.com> (raw) In-Reply-To: <20200323135110.30522-1-qais.yousef@arm.com> disable_nonboot_cpus() is not safe to use when doing machine_down(), because it relies on freeze_secondary_cpus() which in turn is a suspend/resume related freeze and could abort if the logic detects any pending activities that can prevent finishing the offlining process. Beside disable_nonboot_cpus() is dependent on CONFIG_PM_SLEEP_SMP which is an othogonal config to rely on to ensure this function works correctly. Signed-off-by: Qais Yousef <qais.yousef@arm.com> CC: Russell King <linux@armlinux.org.uk> CC: linux-arm-kernel@lists.infradead.org CC: linux-kernel@vger.kernel.org --- arch/arm/kernel/reboot.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c index bb18ed0539f4..58ad1a70f770 100644 --- a/arch/arm/kernel/reboot.c +++ b/arch/arm/kernel/reboot.c @@ -88,11 +88,11 @@ void soft_restart(unsigned long addr) * to execute e.g. a RAM-based pin loop is not sufficient. This allows the * kexec'd kernel to use any and all RAM as it sees fit, without having to * avoid any code or data used by any SW CPU pin loop. The CPU hotplug - * functionality embodied in disable_nonboot_cpus() to achieve this. + * functionality embodied in smp_shutdown_nonboot_cpus() to achieve this. */ void machine_shutdown(void) { - disable_nonboot_cpus(); + smp_shutdown_nonboot_cpus(0); } /* -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Qais Yousef <qais.yousef@arm.com> To: Thomas Gleixner <tglx@linutronix.de> Cc: Russell King <linux@armlinux.org.uk>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Qais Yousef <qais.yousef@arm.com> Subject: [PATCH v4 04/17] arm: Don't use disable_nonboot_cpus() Date: Mon, 23 Mar 2020 13:50:57 +0000 [thread overview] Message-ID: <20200323135110.30522-5-qais.yousef@arm.com> (raw) In-Reply-To: <20200323135110.30522-1-qais.yousef@arm.com> disable_nonboot_cpus() is not safe to use when doing machine_down(), because it relies on freeze_secondary_cpus() which in turn is a suspend/resume related freeze and could abort if the logic detects any pending activities that can prevent finishing the offlining process. Beside disable_nonboot_cpus() is dependent on CONFIG_PM_SLEEP_SMP which is an othogonal config to rely on to ensure this function works correctly. Signed-off-by: Qais Yousef <qais.yousef@arm.com> CC: Russell King <linux@armlinux.org.uk> CC: linux-arm-kernel@lists.infradead.org CC: linux-kernel@vger.kernel.org --- arch/arm/kernel/reboot.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c index bb18ed0539f4..58ad1a70f770 100644 --- a/arch/arm/kernel/reboot.c +++ b/arch/arm/kernel/reboot.c @@ -88,11 +88,11 @@ void soft_restart(unsigned long addr) * to execute e.g. a RAM-based pin loop is not sufficient. This allows the * kexec'd kernel to use any and all RAM as it sees fit, without having to * avoid any code or data used by any SW CPU pin loop. The CPU hotplug - * functionality embodied in disable_nonboot_cpus() to achieve this. + * functionality embodied in smp_shutdown_nonboot_cpus() to achieve this. */ void machine_shutdown(void) { - disable_nonboot_cpus(); + smp_shutdown_nonboot_cpus(0); } /* -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-03-23 13:51 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 ` Qais Yousef [this message] 2020-03-23 13:50 ` [PATCH v4 04/17] arm: Don't use disable_nonboot_cpus() 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: smp/core] cpu/hotplug: Provide bringup_hibernate_cpu() tip-bot2 for Qais Yousef 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=20200323135110.30522-5-qais.yousef@arm.com \ --to=qais.yousef@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=tglx@linutronix.de \ /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: linkBe 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.