** Description changed:
SRU Justification
+ [Impact]
+ Intel has introduced support for their new Emerald Rapids CPU.
+ It was backported to Jammy in #lp2015372
+
+ The remaining feature needed to fully support EMR is the split lock detection
mechanism.
+ So far, bit 5 in IA32_CORE_CAPABILITIES says whether split lock detection is
supported or not, but this is not architectural, meaning that this should be
trusted only if it’s confirmed that a specific CPU model implements it. This
lead to a mapping between a CPU model and whether it supports split lock
detection by default (no need to check IA32_CORE_CAPABILITIES) or they may
support the split lock detection → IA32_CORE_CAPABILITIES bit 5 has to be
checked.
- [Impact]
+ With more and more CPU models, this becomes hard to maintain. Moreover, the
December 2022 edition of the Intel Instruction Set Extensions manual defined
that the split lock disable bit in the IA32_CORE_CAPABILITIES MSR is (and
retrospectively always has been) architectural. Documentation also mentions
+ “All processors that enumerate support for MSR_IA32_CORE_CAPS and set
MSR_IA32_CORE_CAPS_SPLIT_LOCK_DETECT support split lock detection.”
- #2009315 adds support for their new Emerald Rapids CPU to Jammy.
+ Thus, commit d7ce15e1d4162ab5e56dead10d4ae69a6b5c8ee8:
+ “ x86/split_lock: Enumerate architectural split lock disable bit” from
linux-next removes the need of adding a new CPU model in that mapping.
- Commit d7ce15e1d4162ab5e56dead10d4ae69a6b5c8ee8 from linux-next
- introduces support for Split lock detection.
-
-
+ This is needed to support split lock detection for the new EMR CPU and future
models that don’t suffer architectural changes.
+
[Testing]
- Kernel was built on cbd and boot tested on a VM.
- TODO ask for help from intel.
+ Kernel was built on cbd and boot tested on a VM.
+ Intel was asked to install and test the new kernel from this ppa
https://launchpad.net/~roxanan/+archive/ubuntu/lp2015855
[Regression potential]
- TODO assess this
+ Very low, it is a small refactor and in essence, it does the exact same
thing for existing cpu models:
+ 1. For Icelake which does not have IA32_CORE_CAPABILITIES it always assumes
the mechanism is supported.
+ 2. For the rest, it automatically checks bit 5 of IA32_CORE_CAPABILITIES
without the extra step of checking the map if the CPU supports this (which was
always true)
** Changed in: linux (Ubuntu)
Status: Confirmed => In Progress
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2015855
Title:
Add split lock detection for EMR
Status in linux package in Ubuntu:
In Progress
Status in linux source package in Jammy:
Confirmed
Bug description:
SRU Justification
[Impact]
Intel has introduced support for their new Emerald Rapids CPU.
It was backported to Jammy in #lp2015372
The remaining feature needed to fully support EMR is the split lock detection
mechanism.
So far, bit 5 in IA32_CORE_CAPABILITIES says whether split lock detection is
supported or not, but this is not architectural, meaning that this should be
trusted only if it’s confirmed that a specific CPU model implements it. This
lead to a mapping between a CPU model and whether it supports split lock
detection by default (no need to check IA32_CORE_CAPABILITIES) or they may
support the split lock detection → IA32_CORE_CAPABILITIES bit 5 has to be
checked.
With more and more CPU models, this becomes hard to maintain. Moreover, the
December 2022 edition of the Intel Instruction Set Extensions manual defined
that the split lock disable bit in the IA32_CORE_CAPABILITIES MSR is (and
retrospectively always has been) architectural. Documentation also mentions
“All processors that enumerate support for MSR_IA32_CORE_CAPS and set
MSR_IA32_CORE_CAPS_SPLIT_LOCK_DETECT support split lock detection.”
Thus, commit d7ce15e1d4162ab5e56dead10d4ae69a6b5c8ee8:
“ x86/split_lock: Enumerate architectural split lock disable bit” from
linux-next removes the need of adding a new CPU model in that mapping.
This is needed to support split lock detection for the new EMR CPU and future
models that don’t suffer architectural changes.
[Testing]
Kernel was built on cbd and boot tested on a VM.
Intel was asked to install and test the new kernel from this ppa
https://launchpad.net/~roxanan/+archive/ubuntu/lp2015855
[Regression potential]
Very low, it is a small refactor and in essence, it does the exact same
thing for existing cpu models:
1. For Icelake which does not have IA32_CORE_CAPABILITIES it always assumes
the mechanism is supported.
2. For the rest, it automatically checks bit 5 of IA32_CORE_CAPABILITIES
without the extra step of checking the map if the CPU supports this (which was
always true)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2015855/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp