** Description changed: - [Environment] + [ Impact ] + + CPU is being recognised as Broadwell, thus missing either Skylake, + Cascadelake, Icelake, SapphireRapids features. + + It impacts deployments for any customers using Openstack with Nova and + using any recent Intel CPU like Icelake, Sapphire Rapids, Emerald + Rapids, Granite Rapids and will prevent the user from using any + instruction from anything more recent than Broadwell CPUs. + + For Skylake, Cascadelake, Icelake CPU maps in /usr/share/libvirt/cpu_map/: + The cpu cannot be recognised because of the missing feature "mpx". + Upstream has actually a fix for this : https://gitlab.com/libvirt/libvirt/-/commit/fa5459517848f333743c771e90eb01faeced3dae + + Theorically, it should impact IceLake CPUs as well on Jammy 22.04, Noble 24.04 LTS, meaning we have no current Ubuntu LTS to recognise Icelake, Sapphire Rapids and Emerald Rapids correctly. + CPU recognition as Icelake-Server-noTSX from both Icelake and SapphireRapids will work only with libvirt's version from Oricular 24.10. + + [ Test Plan ] + + * We want to test both Sapphire Rapids (5416S and 6430) and Emerald + Rapids CPUs (6542Y) on Ubuntu Jammy 22.04 and Noble 24.04. Those CPUs + should be recognised as Icelake capable on both Noble and Jammy, not as + "Broadwell". + + + * Status Quo – On Noble with libvirt 10.0.0-2ubuntu8.6 and Jammy with libvirt 8.0.0-1ubuntu7.11 it reports wrongly as "Broadwell": + + ## Sapphire Rapids + $ sudo virsh capabilities | grep -i model -m 1; sudo cat /proc/cpuinfo | grep "model name" -m 1 + <model>Broadwell-noTSX-IBRS</model> + model name : Intel(R) Xeon(R) Gold 5416S + + $ sudo virsh capabilities | grep -i model -m 1; sudo cat /proc/cpuinfo | grep "model name" -m 1 + <model>Broadwell-noTSX-IBRS</model> + model name : Intel(R) Xeon(R) Gold 6430 + + + ## Emerald Rapids + $ sudo virsh capabilities | grep -i model -m 1; sudo cat /proc/cpuinfo | grep "model name" -m 1 + <model>Broadwell-noTSX-IBRS</model> + model name : INTEL(R) XEON(R) GOLD 6542Y + + + * After having this fix landed, we want to see it be recognised as "Icelake": + + ## Sapphire Rapids + $ sudo virsh capabilities | grep -i model -m 1; sudo cat /proc/cpuinfo | grep "model name" -m 1 + <model>Icelake-Server-noTSX</model> + model name : Intel(R) Xeon(R) Gold 5416S + + $ sudo virsh capabilities | grep -i model -m 1; sudo cat /proc/cpuinfo | grep "model name" -m 1 + <model>Icelake-Server-noTSX</model> + model name : Intel(R) Xeon(R) Gold 6430 + + + ## Emerald Rapids + $ sudo virsh capabilities | grep -i model -m 1; sudo cat /proc/cpuinfo | grep "model name" -m 1 + <model>Icelake-Server-noTSX</model> + model name : INTEL(R) XEON(R) GOLD 6542Y + + [ Where problems could occur ] + + * This handles a mismatch of the "mpx" feature flag in qemu vs libvirt + machine descriptions. If something goes wrong, it could lead to machine + types being reported with the wrong brand name, while still being fully + functional besides that. + + [ Other Info ] Tested platform and environments : * Ubuntu Jammy 22.04 LTS : 8.0.0-1ubuntu7.10 and 10.0.0-2ubuntu8.5~cloud0 (Caracal UCA) with HWE kernel (6.8) * Ubuntu Noble 24.04 LTS : 10.0.0-2ubuntu8.6 * Ubuntu Oracular 24.10 : 10.6.0-1ubuntu3.2 Impacted releases: * Ubuntu Jammy 22.04 LTS : 8.0.0-1ubuntu7.10 and 10.0.0-2ubuntu8.5~cloud0 (Caracal UCA) with HWE kernel (6.8) * Ubuntu Noble 24.04 LTS : 10.0.0-2ubuntu8.6 (Oracular does have the fix) Hardware : * HPE DL360 with Intel Xeon Gold 6542Y - [Issue] - CPU is being recognised as Broadwell, thus missing either Skylake, Cascadelake, Icelake, SapphireRapids features. - - [Impact] - It impacts deployments for any customers using Openstack with Nova and using any recent Intel CPU like Icelake, Sapphire Rapids, Emerald Rapids, Granite Rapids and will prevent the user from using any instruction from anything more recent than Broadwell CPUs. - - [Root cause] - For Skylake, Cascadelake, Icelake CPU maps in /usr/share/libvirt/cpu_map/: - The cpu cannot be recognised because of the missing feature "mpx". - Upstream has actually a fix for this : https://gitlab.com/libvirt/libvirt/-/commit/fa5459517848f333743c771e90eb01faeced3dae - - Theorically, it should impact IceLake CPUs as well on Jammy 22.04, Noble 24.04 LTS, meaning we have no current Ubuntu LTS to recognise Icelake, Sapphire Rapids and Emerald Rapids correctly. - CPU recognition as Icelake-Server-noTSX from both Icelake and SapphireRapids will work only with libvirt's version from Oricular 24.10. - [Potential improvements] Perform a SRU to backport the fix from upstream with the removed "mpx" feature to current LTS to allow proper support for recent Intel CPUs --> it would at least fix the support for Icelake and allow newer CPUs like Sapphire Rapids to no end up using a CPU feature set as old as Broadwell --> this is confirmed to work with Ubuntu 24.10 but is not a LTS release and viaable for production/customers environments.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2106812 Title: Emeralds rapids CPU cannot use Skylake to Icelake feature sets on Jammy 22.04 LTS and Noble 24.04 LTS To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/2106812/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
