From: Salil Mehta <salil.mehta@huawei.com>
To: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Cc: "maz@kernel.org" <maz@kernel.org>,
"will@kernel.org" <will@kernel.org>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"christoffer.dall@arm.com" <christoffer.dall@arm.com>,
"andre.przywara@arm.com" <andre.przywara@arm.com>,
"james.morse@arm.com" <james.morse@arm.com>,
"mark.rutland@arm.com" <mark.rutland@arm.com>,
"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
"sudeep.holla@arm.com" <sudeep.holla@arm.com>,
"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
"richard.henderson@linaro.org" <richard.henderson@linaro.org>,
"imammedo@redhat.com" <imammedo@redhat.com>,
"mst@redhat.com" <mst@redhat.com>,
"drjones@redhat.com" <drjones@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"eric.auger@redhat.com" <eric.auger@redhat.com>,
"gshan@redhat.com" <gshan@redhat.com>,
"david@redhat.com" <david@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linuxarm <linuxarm@huawei.com>,
"mehta.salil.lnk@gmail.com" <mehta.salil.lnk@gmail.com>
Subject: RE: [PATCH RFC 0/4] Changes to Support *Virtual* CPU Hotplug for ARM64
Date: Tue, 7 Jul 2020 09:52:54 +0000 [thread overview]
Message-ID: <8efc4efe284641eda3ffeb2301fcca43@huawei.com> (raw)
In-Reply-To: <20200625133757.22332-1-salil.mehta@huawei.com>
Hello,
A gentle reminder, any comments regarding this series will help us know
your opinion and also confirm/correct our understanding about the topic
and will be much appreciated.
Thanks in anticipation!
Best regards
Salil
> From: Salil Mehta
> Sent: Thursday, June 25, 2020 2:38 PM
> To: linux-arm-kernel@lists.infradead.org
> Cc: maz@kernel.org; will@kernel.org; catalin.marinas@arm.com;
> christoffer.dall@arm.com; andre.przywara@arm.com; james.morse@arm.com;
> mark.rutland@arm.com; lorenzo.pieralisi@arm.com; sudeep.holla@arm.com;
> qemu-arm@nongnu.org; peter.maydell@linaro.org; richard.henderson@linaro.org;
> imammedo@redhat.com; mst@redhat.com; drjones@redhat.com; pbonzini@redhat.com;
> eric.auger@redhat.com; gshan@redhat.com; david@redhat.com;
> kvm@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm
> <linuxarm@huawei.com>; mehta.salil.lnk@gmail.com; Salil Mehta
> <salil.mehta@huawei.com>
> Subject: [PATCH RFC 0/4] Changes to Support *Virtual* CPU Hotplug for ARM64
>
> Changes to support virtual cpu hotplug in QEMU[1] have been introduced to the
> community as RFC. These are under review.
>
> To support virtual cpu hotplug guest kernel must:
> 1. Identify disabled/present vcpus and set/unset the present mask of the vcpu
> during initialization and hotplug event. It must also set the possible mask
> (which includes disabled vcpus) during init of guest kernel.
> 2. Provide architecture specific ACPI hooks, for example to map/unmap the
> logical cpuid to hwids/MPIDR. Linux kernel already has generic ACPI cpu
> hotplug framework support.
>
> Changes introduced in this patch-set also ensures that initialization of the
> cpus when virtual cpu hotplug is not supported remains un-affected.
>
> Repository:
> (*) Kernel changes are at,
> https://github.com/salil-mehta/linux.git virt-cpuhp-arm64/rfc-v1
> (*) QEMU changes for vcpu hotplug could be cloned from below site,
> https://github.com/salil-mehta/qemu.git virt-cpuhp-armv8/rfc-v1
>
>
> THINGS TO DO:
> 1. Handling of per-cpu variables especially the first-chunk allocations
> (which are NUMA aware) when the vcpu is hotplugged needs further attention
> and review.
> 2. NUMA related stuff has not been fully tested both in QEMU and kernel.
> 3. Comprehensive Testing including when cpu hotplug is not supported.
> 4. Docs
>
> DISCLAIMER:
> This is not a complete work but an effort to present the arm vcpu hotplug
> implementation to the community. This RFC is being used as a way to verify
> the idea mentioned above and to support changes presented for QEMU[1] to
> support vcpu hotplug. As of now this is *not* a production level code and might
> have bugs. Only a basic testing has been done on HiSilicon Kunpeng920 ARM64
> based SoC for Servers to verify the proof-of-concept that has been found working!
>
> Best regards
> Salil.
>
> REFERENCES:
> [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg712010.html
> [2] https://lkml.org/lkml/2019/6/28/1157
> [3] https://lists.cs.columbia.edu/pipermail/kvmarm/2018-July/032316.html
>
> Organization of Patches:
> [Patch 1-3]
> (*) Changes required during guest boot time to support vcpu hotplug
> (*) Max cpu overflow checks
> (*) Changes required to pre-setup cpu-operations even for disabled cpus
> [Patch 4]
> (*) Arch changes required by guest kernel ACPI CPU Hotplug framework.
>
>
> Salil Mehta (4):
> arm64: kernel: Handle disabled[(+)present] cpus in MADT/GICC during
> init
> arm64: kernel: Bound the total(present+disabled) cpus with nr_cpu_ids
> arm64: kernel: Init cpu operations for all possible vcpus
> arm64: kernel: Arch specific ACPI hooks(like logical cpuid<->hwid
> etc.)
>
> arch/arm64/kernel/smp.c | 153 ++++++++++++++++++++++++++++++++--------
> 1 file changed, 123 insertions(+), 30 deletions(-)
>
> --
> 2.17.1
>
next prev parent reply other threads:[~2020-07-07 9:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-25 13:37 [PATCH RFC 0/4] Changes to Support *Virtual* CPU Hotplug for ARM64 Salil Mehta
2020-06-25 13:37 ` [PATCH RFC 1/4] arm64: kernel: Handle disabled[(+)present] cpus in MADT/GICC during init Salil Mehta
2020-06-25 13:37 ` [PATCH RFC 2/4] arm64: kernel: Bound the total(present+disabled) cpus with nr_cpu_ids Salil Mehta
2020-06-25 13:37 ` [PATCH RFC 3/4] arm64: kernel: Init cpu operations for all possible vcpus Salil Mehta
2020-06-25 13:37 ` [PATCH RFC 4/4] arm64: kernel: Arch specific ACPI hooks(like logical cpuid<->hwid etc.) Salil Mehta
2020-07-07 9:52 ` Salil Mehta [this message]
2020-07-08 12:29 ` [PATCH RFC 0/4] Changes to Support *Virtual* CPU Hotplug for ARM64 James Morse
2020-07-08 16:11 ` Salil Mehta
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=8efc4efe284641eda3ffeb2301fcca43@huawei.com \
--to=salil.mehta@huawei.com \
--cc=andre.przywara@arm.com \
--cc=catalin.marinas@arm.com \
--cc=christoffer.dall@arm.com \
--cc=david@redhat.com \
--cc=drjones@redhat.com \
--cc=eric.auger@redhat.com \
--cc=gshan@redhat.com \
--cc=imammedo@redhat.com \
--cc=james.morse@arm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mehta.salil.lnk@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sudeep.holla@arm.com \
--cc=will@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