** Description changed:
+ [Impact]
+
+ * CPU definitions are added to libvirt as these CPUs are known
+ and added to qemu for execution.
+ And due to that over time some are considered missing in
+ former releases.
+
+ * To really benefit from the new features of these chips
+ they have to be known, therefore new type additions done by
+ upstream should be backported if they generally apply and do
+ not depend on SRU-critical changes.
+
+ * This backports three upstream fixes that just add definitions
+ (no control flow changes)
+
+ [Test Case]
+
+ * Check if it has an EPYC-Rome entry in
+ /usr/share/libvirt/cpu_map/index.xml and the file included
+ there exists.
+
+ * Define a guest like:
+ <cpu mode='custom' match='exact' check='partial'>
+ <model fallback='forbid'>EPYC-Rome</model>
+ </cpu>
+ You can only "really" start this on a system with the
+ matching HW. But even on others it will change from:
+ error: internal error: Unknown CPU model EPYC-Rome
+ to being unable to start for some features missing.
+
+ * libvirt probes a system if a named cpu can be used, after the
+ fix this should include EPYC-Rome
+ $ virsh domcapabilities | grep EPYC
+ <model usable='no'>EPYC-IBPB</model>
+ <model usable='no'>EPYC</model>
+
+ [Regression Potential]
+
+ * Usually these type additions are safe unless they add control flow
+ changes (e.g. to handle yet unknown types of registers or such) but
+ that isn't the case here.
+ A regression if any is to be expected on systems that are close to the
+ newly added type(s). Those will after the update be detected as such
+ if e.g. host-model is used. If then running on a mixed cluster of
+ updated/non-updated systems migrations will only work if the target is
+ updated as well.
+
+ [Other Info]
+
+ * This is the first build since glibc 2.32 arrived in groovy, hence we
+ need to revert the revert done for bug 1892826. It has to be checked
+ if the linking is fine afterwards. That adds two tests that shall be
+ done.
+ - check the linking to point to libtirpc instead of glibc
+ $ eu-readelf -a /usr/lib/libvirt/libvirt_lxc | grep xdr_uint64 | grep
GLOBAL
+ - run the autopkgtest cases as the LXC tests would trigger an issue if
+ there is one
+
+
+ ----
+
## Qemu SRU ##
[Impact]
- * CPU definitions are added to qemu as these CPUs are known.
- And due to that over time are missing in former releases.
+ * CPU definitions are added to qemu as these CPUs are known.
+ And due to that over time are missing in former releases.
- * To really benefit from the new features of these chips
- they have to be known, therefore new type additions done by
- upstream should be backported if they generally apply and do
- not depend on SRU-critical changes.
+ * To really benefit from the new features of these chips
+ they have to be known, therefore new type additions done by
+ upstream should be backported if they generally apply and do
+ not depend on SRU-critical changes.
- * This backports two upstream fixes that just add definitions (no
- control flow changes)
+ * This backports two upstream fixes that just add definitions (no
+ control flow changes)
[Test Case]
- * Probe qemu for the known CPU types (works on all HW)
- $ qemu-system-x86_64 -cpu ? | grep EPYC
- Focal without fix:
- x86 EPYC (alias configured by machine type)
- x86 EPYC-IBPB (alias of EPYC-v2)
- x86 EPYC-v1 AMD EPYC Processor
- x86 EPYC-v2 AMD EPYC Processor (with IBPB)
- Focal with fix also adds:
- x86 EPYC-Rome (alias configured by machine type)
- x86 EPYC-Rome-v1 AMD EPYC-Rome Processor
- x86 EPYC-v3 AMD EPYC Processor
+ * Probe qemu for the known CPU types (works on all HW)
+ $ qemu-system-x86_64 -cpu ? | grep EPYC
+ Focal without fix:
+ x86 EPYC (alias configured by machine type)
+ x86 EPYC-IBPB (alias of EPYC-v2)
+ x86 EPYC-v1 AMD EPYC Processor
+ x86 EPYC-v2 AMD EPYC Processor (with IBPB)
+ Focal with fix also adds:
+ x86 EPYC-Rome (alias configured by machine type)
+ x86 EPYC-Rome-v1 AMD EPYC-Rome Processor
+ x86 EPYC-v3 AMD EPYC Processor
- * Given such HW is available start a KVM guest using those new types
- Since we don't have libvirt support (yet) do so directly in qemu
- commandline like (bootloader is enough)
- $ qemu-system-x86_64 -cpu EPYC-Rome -machine pc-q35-focal,accel=kvm
-nographic
- $ qemu-system-x86_64 -cpu EPYC-v3 -machine pc-q35-focal,accel=kvm
-nographic
+ * Given such HW is available start a KVM guest using those new types
+ Since we don't have libvirt support (yet) do so directly in qemu
+ commandline like (bootloader is enough)
+ $ qemu-system-x86_64 -cpu EPYC-Rome -machine pc-q35-focal,accel=kvm
-nographic
+ $ qemu-system-x86_64 -cpu EPYC-v3 -machine pc-q35-focal,accel=kvm
-nographic
[Regression Potential]
- * This adds new CPU types to the list of known CPUs defining their name
- and features. Generally the changes are contained to those new types
- and only active when selected - and usually only selectable on such new
- machines. Therefore not a lot should change for other users.
- One thing thou, if a user selected an unversioned type (which in this
- case only can be "EPYC") by default it will pick the latest subversion
- that applies. In this case the behavior will change and pick EPYC-v3
- after the fix. But this is the whole purpose of versioned (stay as is)
- and unversioned (move with updates) CPU types - so that should be ok.
- The EPYC-Rome type didn't exist in Focal before, so it can't "change"
- for users.
-
+ * This adds new CPU types to the list of known CPUs defining their name
+ and features. Generally the changes are contained to those new types
+ and only active when selected - and usually only selectable on such new
+ machines. Therefore not a lot should change for other users.
+ One thing thou, if a user selected an unversioned type (which in this
+ case only can be "EPYC") by default it will pick the latest subversion
+ that applies. In this case the behavior will change and pick EPYC-v3
+ after the fix. But this is the whole purpose of versioned (stay as is)
+ and unversioned (move with updates) CPU types - so that should be ok.
+ The EPYC-Rome type didn't exist in Focal before, so it can't "change"
+ for users.
[Other Info]
-
- * Depends on the new kernel 5.4.0-49 or later (Currently in
- focal-proposed)
+
+ * Depends on the new kernel 5.4.0-49 or later (Currently in
+ focal-proposed)
---
Qemu in focal has already support for most (except amd-stibp) flags of
this model.
Please backport the following patches:
https://github.com/qemu/qemu/commit/a16e8dbc043720abcb37fc7dca313e720b4e0f0c
https://github.com/qemu/qemu/commit/143c30d4d346831a09e59e9af45afdca0331e819
** Summary changed:
- Add/Backport EPYC-v3 and EPYC-Rome CPU model
+ [FFe/SRU] Add/Backport EPYC-v3 and EPYC-Rome CPU model
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1887490
Title:
[FFe/SRU] Add/Backport EPYC-v3 and EPYC-Rome CPU model
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1887490/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs