|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/4] x86/idle: Remove MFENCEs for CLFLUSH_MONITOR
On 24.06.2025 18:39, Andrew Cooper wrote:
> Commit 48d32458bcd4 ("x86, idle: add barriers to CLFLUSH workaround") was
> inherited from Linux and added MFENCEs around the AAI65 errata fix.
>
> The SDM now states:
>
> Executions of the CLFLUSH instruction are ordered with respect to each
> other and with respect to writes, locked read-modify-write instructions,
> and fence instructions[1].
>
> with footnote 1 reading:
>
> Earlier versions of this manual specified that executions of the CLFLUSH
> instruction were ordered only by the MFENCE instruction. All processors
> implementing the CLFLUSH instruction also order it relative to the other
> operations enumerated above.
>
> I.e. the MFENCEs came about because of an incorrect statement in the SDM.
And their exact placement even differed between the two sites.
> The Spec Update (no longer available on Intel's website) simply says "issue a
> CLFLUSH", with no mention of MFENCEs.
>
> As this erratum is specific to Intel, it's fine to remove the the MFENCEs; AMD
> CPUs of a similar vintage do port otherwise-unordered CLFLUSHs.
Nit: DYM "sport"? I think the corresponding Linux commit that I once looked
at has it that way.
> Move the feature bit into the BUG range (rather than FEATURE), and move the
> workaround into monitor() itself.
>
> The erratum check itself must use setup_force_cpu_cap(). It needs activating
> if any CPU needs it, not if all of them need it.
>
> Fixes: 48d32458bcd4 ("x86, idle: add barriers to CLFLUSH workaround")
> Fixes: 96d1b237ae9b ("x86/Intel: work around Xeon 7400 series erratum AAI65")
> Link:
> https://web.archive.org/web/20090219054841/http://download.intel.com/design/xeon/specupdt/32033601.pdf
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |