ACK: [SRU][Jammy][PATCH 0/1] Add split lock detection for EMR
Tim Gardner
tim.gardner at canonical.com
Thu Apr 13 13:49:30 UTC 2023
On 4/13/23 7:21 AM, Roxana Nicolescu wrote:
> BugLink: https://bugs.launchpad.net/bugs/2015855
>
> 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
> and 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)
>
> Fenghua Yu (1):
> x86/split_lock: Enumerate architectural split lock disable bit
>
> arch/x86/kernel/cpu/intel.c | 58 ++++++++++++++-----------------------
> 1 file changed, 22 insertions(+), 36 deletions(-)
>
Acked-by: Tim Gardner <tim.gardner at canonical.com>
LGTM
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list