** 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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to