Public bug reported:
[ Impact ]
Users running Ubuntu 24.04 (Noble) experience slow boot times and guest soft
lockups when launching VMs on multi-GPU servers. This occurs because the 512
GiB GPU BAR mappings are placed at only 4 KiB-aligned addresses.
Backporting the fix to the stable release is necessary to ensure VMs
with large GPU setups can boot reliably without locking up.
The upload fixes this bug by applying two upstream commits from QEMU
9.2:
49915c0d2c9868e6f25e52e4d839943611b69e98 "vfio/helpers: Refactor
vfio_region_mmap() error handling"
00b519c0bca0e933ed22e2e6f8bca6b23f41f950 "vfio/helpers: Align mmaps"
These patches correct the mmap alignment for the GPU BARs, restoring
normal boot times and preventing the lockups.
[ Test Plan ]
Set up a host machine running Ubuntu 24.04 with kernel 7.0.0-38-generic.
Ensure you have Libvirt 10.0.0-2ubuntu8.19 and the current QEMU
1:8.2.2+ds-0ubuntu1.18 installed.
Configure and launch a VM with multiple GPUs passed through via VFIO
(e.g., an 8-GPU configuration with large BARs).
Notice the slow VM boot time and observe the guest soft lockups in the
logs.
Update QEMU to the patched package from the proposed repository.
Launch the multi-GPU VM again.
Verify that the VM boots quickly and that no guest soft lockups happen.
[ Other Info ]
The issue was observed on Libvirt 10.0.0-2ubuntu8.19 + QEMU
1:8.2.2+ds-0ubuntu1.18 + host kernel 7.0.0-38-generic. Both upstream commits
are required, as the first commit refactors the error handling needed for the
second commit to apply properly.
** Affects: qemu (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170738
Title:
[SRU] slow VM boot from misaligned BAR MMAPs on multi-GPU servers
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2170738/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs