linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: linux-pm@vger.kernel.org, loongarch@lists.linux.dev,
	linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-riscv@lists.infradead.org, kvmarm@lists.linux.dev,
	x86@kernel.org, linux-csky@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-parisc@vger.kernel.org
Cc: Salil Mehta <salil.mehta@huawei.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	jianyong.wu@arm.com, justin.he@arm.com,
	James Morse <james.morse@arm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>
Subject: Re: [PATCH RFC 08/22] drivers: base: Implement weak arch_unregister_cpu()
Date: Tue, 21 Nov 2023 13:33:30 +0000	[thread overview]
Message-ID: <ZVyxqoKBL8LsxXW+@shell.armlinux.org.uk> (raw)
In-Reply-To: <E1r0JLL-00CTxD-Gc@rmk-PC.armlinux.org.uk>

On Tue, Nov 07, 2023 at 10:29:59AM +0000, Russell King wrote:
> From: James Morse <james.morse@arm.com>
> 
> Add arch_unregister_cpu() to allow the ACPI machinery to call
> unregister_cpu(). This is enough for arm64, riscv and loongarch, but
> needs to be overridden by x86 and ia64 who need to do more work.
> 
> CC: Jean-Philippe Brucker <jean-philippe@linaro.org>
> Signed-off-by: James Morse <james.morse@arm.com>
> ---
> Changes since v1:
>  * Added CONFIG_HOTPLUG_CPU ifdeffery around unregister_cpu
> Changes since RFC v2:
>  * Move earlier in the series
> ---
>  drivers/base/cpu.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 579064fda97b..58bb86091b34 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -531,7 +531,14 @@ int __weak arch_register_cpu(int cpu)
>  {
>  	return register_cpu(&per_cpu(cpu_devices, cpu), cpu);
>  }
> -#endif
> +
> +#ifdef CONFIG_HOTPLUG_CPU
> +void __weak arch_unregister_cpu(int num)
> +{
> +	unregister_cpu(&per_cpu(cpu_devices, num));
> +}
> +#endif /* CONFIG_HOTPLUG_CPU */

I have previously asked the question whether we should provide a
stub weak function for the !HOTPLUG_CPU case for this, which would
alleviate the concerns around if (IS_ENABLED()) in some of the later
hotplug vCPU patches... which failed to get _any_ responses.

So, I'm now going to deem the comment I received about if (IS_ENABLED())
potentially causing issues to be unimportant, and thus there's no
need for a stub weak function. If we start getting compile errors,
then we can address the issue at that point. So far, however, the
kernel build bot has not identified that this as an issue... and it's
been chewing on this entire patch set for well over a month now.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

  parent reply	other threads:[~2023-11-21 13:33 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-07 10:28 [PATCH RFC 00/22] Initial cleanups for vCPU hotplug Russell King (Oracle)
2023-11-07 10:29 ` [PATCH RFC 01/22] arch_topology: Make register_cpu_capacity_sysctl() tolerant to late CPUs Russell King
2023-11-13  0:04   ` Gavin Shan
2023-11-28 14:37   ` Jonathan Cameron
2023-11-28 15:41     ` Russell King (Oracle)
2023-11-07 10:29 ` [PATCH RFC 02/22] x86: intel_epb: Don't rely on link order Russell King
2023-11-13  0:03   ` Gavin Shan
2023-11-28 14:40   ` Jonathan Cameron
2023-11-28 15:42     ` Russell King (Oracle)
2023-11-07 10:29 ` [PATCH RFC 03/22] x86/topology: remove arch_*register_cpu() exports Russell King (Oracle)
2023-11-13  0:08   ` Gavin Shan
2023-11-28 14:42   ` Jonathan Cameron
2023-11-07 10:29 ` [PATCH RFC 04/22] Loongarch: " Russell King (Oracle)
2023-11-13  0:11   ` Gavin Shan
2023-11-28 14:43   ` Jonathan Cameron
2023-11-07 10:29 ` [PATCH RFC 05/22] ACPI: Move ACPI_HOTPLUG_CPU to be disabled on arm64 and riscv Russell King
2023-11-09  9:43   ` Shaoqin Huang
2023-11-13  0:29   ` Gavin Shan
2023-11-13  8:56     ` Russell King (Oracle)
2023-11-13 10:01       ` Gavin Shan
2023-11-28 14:46   ` Jonathan Cameron
2023-11-07 10:29 ` [PATCH RFC 06/22] drivers: base: Use present CPUs in GENERIC_CPU_DEVICES Russell King
2023-11-09 10:09   ` Shaoqin Huang
2023-11-09 10:29     ` Russell King (Oracle)
2023-11-09 10:59       ` Shaoqin Huang
2023-11-13  0:37   ` Gavin Shan
2023-11-07 10:29 ` [PATCH RFC 07/22] drivers: base: Allow parts of GENERIC_CPU_DEVICES to be overridden Russell King
2023-11-09 10:13   ` Shaoqin Huang
2023-11-13  0:42   ` Gavin Shan
2023-11-28 14:49   ` Jonathan Cameron
2023-11-07 10:29 ` [PATCH RFC 08/22] drivers: base: Implement weak arch_unregister_cpu() Russell King
2023-11-09 10:51   ` Shaoqin Huang
2023-11-13  0:45   ` Gavin Shan
2023-11-21 13:33   ` Russell King (Oracle) [this message]
2023-11-28 14:51     ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 09/22] drivers: base: add arch_cpu_is_hotpluggable() Russell King (Oracle)
2023-11-10  3:27   ` Shaoqin Huang
2023-11-13  0:56   ` Gavin Shan
2023-11-28 14:53   ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 10/22] drivers: base: Move cpu_dev_init() after node_dev_init() Russell King
2023-11-13  0:58   ` Gavin Shan
2023-11-13  8:00     ` Russell King (Oracle)
2023-11-21 13:27       ` Russell King (Oracle)
2023-11-28 13:55         ` Jonathan Cameron
2023-11-28 15:00           ` Jonathan Cameron
2023-11-30 12:17     ` Russell King (Oracle)
2023-11-07 10:30 ` [PATCH RFC 11/22] drivers: base: remove unnecessary call to register_cpu_under_node() Russell King (Oracle)
2023-11-13  4:04   ` Gavin Shan
2023-11-15 10:11     ` Russell King (Oracle)
2023-11-07 10:30 ` [PATCH RFC 12/22] drivers: base: Print a warning instead of panic() when register_cpu() fails Russell King
2023-11-10  3:35   ` Shaoqin Huang
2023-11-13  4:03   ` Gavin Shan
2023-11-28 15:05   ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 13/22] arm64: setup: Switch over to GENERIC_CPU_DEVICES using arch_register_cpu() Russell King
2023-11-10  3:36   ` Shaoqin Huang
2023-11-13  4:07   ` Gavin Shan
2023-11-28 15:08   ` Jonathan Cameron
2023-11-28 15:12     ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 14/22] arm64: convert to arch_cpu_is_hotpluggable() Russell King (Oracle)
2023-11-10  3:37   ` Shaoqin Huang
2023-11-13  4:09   ` Gavin Shan
2023-11-28 15:11   ` Jonathan Cameron
2023-11-30 12:09     ` Russell King (Oracle)
2023-11-07 10:30 ` [PATCH RFC 15/22] x86/topology: Switch over to GENERIC_CPU_DEVICES Russell King
2023-11-13  4:13   ` Gavin Shan
2023-11-28 15:16   ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 16/22] x86/topology: use weak version of arch_unregister_cpu() Russell King (Oracle)
2023-11-13  4:16   ` Gavin Shan
2023-11-28 15:17   ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 17/22] x86/topology: convert to use arch_cpu_is_hotpluggable() Russell King (Oracle)
2023-11-13  4:18   ` Gavin Shan
2023-11-28 15:18   ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 18/22] LoongArch: Switch over to GENERIC_CPU_DEVICES Russell King
2023-11-13  4:20   ` Gavin Shan
2023-11-28 15:19   ` Jonathan Cameron
2023-11-07 10:30 ` [PATCH RFC 19/22] LoongArch: Use the __weak version of arch_unregister_cpu() Russell King
2023-11-07 10:31 ` [PATCH RFC 20/22] LoongArch: convert to use arch_cpu_is_hotpluggable() Russell King (Oracle)
2023-11-13  4:22   ` Gavin Shan
2023-11-28 15:20   ` Jonathan Cameron
2023-11-07 10:31 ` [PATCH RFC 21/22] riscv: Switch over to GENERIC_CPU_DEVICES Russell King
2023-11-07 17:48   ` Palmer Dabbelt
2023-11-13  4:23   ` Gavin Shan
2023-11-07 10:31 ` [PATCH RFC 22/22] riscv: convert to use arch_cpu_is_hotpluggable() Russell King (Oracle)
2023-11-07 17:48   ` Palmer Dabbelt
2023-11-13  4:24   ` Gavin Shan
2023-11-28 15:21   ` Jonathan Cameron

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=ZVyxqoKBL8LsxXW+@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=aou@eecs.berkeley.edu \
    --cc=gregkh@linuxfoundation.org \
    --cc=james.morse@arm.com \
    --cc=jean-philippe@linaro.org \
    --cc=jianyong.wu@arm.com \
    --cc=justin.he@arm.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-csky@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=loongarch@lists.linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=rafael@kernel.org \
    --cc=salil.mehta@huawei.com \
    --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 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).