-
Notifications
You must be signed in to change notification settings - Fork 1.3k
kvm: pre-add 32 PCI controller for hot-plug issue on ARM64/aarch64 #5193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kvm: pre-add 32 PCI controller for hot-plug issue on ARM64/aarch64 #5193
Conversation
On newer libvirt/qemu it seems PCI hot-plugging could be an issue as seen in: https://www.suse.com/support/kb/doc/?id=000019383 https://bugs.launchpad.net/nova/+bug/1836065 This was found to be true on ARM64/aarch64 platform (tested on RaspberryPi4). As per the default machine doc, it advises to pre-allocate PCI controllers on the machine and pcie-to-pci-bridge based controller for legacy PCI models: https://libvirt.org/pci-hotplug.html#x86_64-q35 This patch introduces the concept as a workaround until a proper fix is done (ideally in the upstream libvirt/qemu projects). Until then client code can add 32 PCI controllers and a pcie-to-pci-bridge controller for aarch64 platforms. Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian. SL-JID 499 |
|
@blueorangutan test |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-1218)
|
DaanHoogland
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cltgm, seems to do what it says on the tin. you are still the only r-pi user @rhtyd so i don't think we'll find a third party tester :(
|
@DaanHoogland I think there are few other users but yes, let's accept based on smoketests and my manual tests on my toy RPi4 env (I can give access if anybody wants - https://yadav.cloud/client) |
|
Domain xml of a functioning working VM: |
shwstppr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM base on code change and given working domain XML
On newer libvirt/qemu it seems PCI hot-plugging could be an issue as
seen in:
https://www.suse.com/support/kb/doc/?id=000019383
https://bugs.launchpad.net/nova/+bug/1836065
This was found to be true on ARM64/aarch64 platform (tested on
RaspberryPi4). As per the default machine doc, it advises to
pre-allocate PCI controllers on the machine and pcie-to-pci-bridge based
controller for legacy PCI models:
https://libvirt.org/pci-hotplug.html#x86_64-q35
This patch introduces the concept as a workaround until a proper fix is
done (ideally in the upstream libvirt/qemu projects). Until then client
code can add 32 PCI controllers and a pcie-to-pci-bridge controller for
aarch64 platforms.
Types of changes
Tested on RaspberryPi4+Ubuntu 20.04 with: http://download.cloudstack.org/rpi4/4.15/
Old PR: #4182