...
Salil presented some updates on the testing of the James Kernel patches with the QEMU.
https://git.gitlab.arm.com/linux-arm/linux-jm.gitvirtual_cpu_hotplug/rfc/v0
Slides share as attached
Forward ported QEMU with some fixes was shared (by Salil)
https://github.com/salil-mehta/qemu.gitvirt-cpuhp-armv8/rfc-v1-port29092022
Some discussions on the use of _STA.EnableBit during remove ofcpuwhich of cpu which was causing crash.
There is an assumption in the patches that _STA.ENA=0 while cpusare cpus are being removed.
Issue of present == possible with the James patches was also discussed
Could we get around this by conditionally making cpuspresent cpus present in the kernel (by Salil)
"ACPI says present but Linux still says not present" is an inconsistent representation and can lead to future maintenance problems (by James)
What kind of future problems? (needs more debate?)
Issue with removing cold-booted cpuswas cpus was also discussed
Jonathan suggested keeping a variable in the kernel to identify the cpuwhich cpu which was earlier cold-booted or we could even use GICC Enabled/online-capable flag bitsfrom bits from MADT Table.
A thought to evolve the ACPI handshake protocol between firmware and kernel was also discussed
Jonathan floated an idea of using the _OSC method ?
James mentioned the limitation that ifGICC.Enabled=1 during boot then none of the _STA fieldscould fields could change as it effects the functionality of the 'kexec'
James would be using the forward ported QEMU repo for further testing and fixing. He might not beavailable be available for next few weeks as he would shift his focus on MPAM
QEMU still has lots of issue to be resolved, Salil shall continue to work in refining those and help Jamesin James in further resolving the issues with his approach
A variant of James approach with conditionally making CPU present has also been sharedwith shared with the ARM folks for their humble consideration.
https://github.com/salil-mehta/linux.gitvirt-cpuhp-arm64/rfc-v2/jmorse-variant-with-cond-present-cpu
This has been found working in all the cases. Although, the issue about inconsistency between ACPI and kernelneeds kernel needs a thorough discussion!
View file | ||
---|---|---|
|
View file | ||
---|---|---|
|
View file | ||
---|---|---|
|
...