Hi James,
On 9/13/23 03:01, James Morse wrote:
On 29/03/2023 03:35, Gavin Shan wrote:
On 2/3/23 9:50 PM, James Morse wrote:
If folk want to play along at home, you'll need a copy of Qemu that supports this.
https://github.com/salil-mehta/qemu.git
salil/virt-cpuhp-armv8/rfc-v1-port29092022.psci.present
You'll need to fix the numbers of KVM_CAP_ARM_HVC_TO_USER and KVM_CAP_ARM_PSCI_TO_USER
to match your host kernel. Replace your '-smp' argument with something like:
| -smp cpus=1,maxcpus=3,cores=3,threads=1,sockets=1
then feed the following to the Qemu montior;
| (qemu) device_add driver=host-arm-cpu,core-id=1,id=cpu1
| (qemu) device_del cpu1
This series is based on v6.2-rc3, and can be retrieved from:
https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git/ virtual_cpu_hotplug/rfc/v1
I give it a try, but the hot-added CPU needs to be put into online
state manually. I'm not sure if it's expected or not.
This is expected. If you want the CPUs to be brought online automatically, you can add
udev rules to do that.
Yeah, I usually execute the following command to bring the CPU into online state,
after the vCPU is hot added by QMP command.
(qemu) device_add driver=host-arm-cpu,core-id=1,id=cpu1
guest# echo 1 > /sys/devices/system/cpu/cpux/online
James, the series was posted a while ago and do you have plan to respin
and post RFCv2 in near future? :)
Thanks,
Gavin