Linux-csky 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: Albert Ou <aou@eecs.berkeley.edu>, Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guo Ren <guoren@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, James Morse <james.morse@arm.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	jianyong.wu@arm.com, justin.he@arm.com,
	Len Brown <lenb@kernel.org>, Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Peter Zijlstra <peterz@infradead.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Salil Mehta <salil.mehta@huawei.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	WANG Xuerui <kernel@xen0n.name>, Will Deacon <will@kernel.org>
Subject: [PATCH RFC 00/22] Initial cleanups for vCPU hotplug
Date: Tue, 7 Nov 2023 10:28:51 +0000	[thread overview]
Message-ID: <ZUoRY33AAHMc5ThW@shell.armlinux.org.uk> (raw)

Hi,

Rather than posting the entire set of vCPU kernel patches, this is a
subset of those patches which I hope will be able to be appropriately
queued for the next merge window. I am also hoping that nothing here
is covered by Rafael's concerns he alluded to in his response to the
RFC v3 series.

This series aims to switch most architectures over to using generic CPU
devices rather than arch specific implementations, which I think is
worthwhile doing even if the vCPU hotplug series needs further work.

Since this series changes the init order (node_dev_init() vs
cpu_dev_init()) and later on in the vCPU hotplug series move the
location that CPUs are registered, the first two patches head off
problems with register_cpu_capacity_sysctl() and the intel_epb code.
These two were ordered later in the original series.

The next pair of patches are new and remove the exports of
arch_*register_cpu() which are not necessary - these functions are only
called from non-modular code - drivers/base/cpu.c and acpi_processor.c
both of which can only be built-in.

The majority of the other patches come from the vCPU hotplug RFC v3
series I posted earlier, rebased on Linus' current tip, but with some
new patches adding arch_cpu_is_hotpluggable() as the remaining
arch_register_cpu() functions only differ in the setting of the
hotpluggable member of the CPU device - so let's get generic code
doing that and provide a way for an architecture to specify whether a
CPU is hotpluggable.

I would appreciate testing reports on loongarch, riscv and x86
platforms please.

Thanks!

 arch/arm64/Kconfig               |  1 +
 arch/arm64/include/asm/cpu.h     |  1 -
 arch/arm64/kernel/setup.c        | 13 ++-----------
 arch/loongarch/Kconfig           |  2 ++
 arch/loongarch/kernel/topology.c | 42 ++--------------------------------------
 arch/riscv/Kconfig               |  1 +
 arch/riscv/kernel/setup.c        | 18 ++---------------
 arch/x86/Kconfig                 |  2 ++
 arch/x86/include/asm/cpu.h       |  4 ----
 arch/x86/kernel/cpu/intel_epb.c  |  2 +-
 arch/x86/kernel/topology.c       | 33 ++-----------------------------
 drivers/acpi/Kconfig             |  1 -
 drivers/acpi/acpi_processor.c    | 18 -----------------
 drivers/base/arch_topology.c     | 38 ++++++++++++++++++++++++------------
 drivers/base/cpu.c               | 39 +++++++++++++++++++++++++++++--------
 drivers/base/init.c              |  2 +-
 drivers/base/node.c              |  7 -------
 include/linux/cpu.h              |  5 +++++
 18 files changed, 78 insertions(+), 151 deletions(-)

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

             reply	other threads:[~2023-11-07 10:29 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-07 10:28 Russell King (Oracle) [this message]
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)
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=ZUoRY33AAHMc5ThW@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=aou@eecs.berkeley.edu \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=chenhuacai@kernel.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guoren@kernel.org \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jean-philippe@linaro.org \
    --cc=jianyong.wu@arm.com \
    --cc=justin.he@arm.com \
    --cc=kernel@xen0n.name \
    --cc=kvmarm@lists.linux.dev \
    --cc=lenb@kernel.org \
    --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=mingo@redhat.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterz@infradead.org \
    --cc=rafael@kernel.org \
    --cc=salil.mehta@huawei.com \
    --cc=sudeep.holla@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 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 read-only IMAP folder(s) and NNTP newsgroup(s).