[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <01367a6b-8eeb-417e-9a66-e7a64d518319@citrix.com>
Date: Tue, 4 Mar 2025 10:38:33 +0000
From: Andrew Cooper <andrew.cooper3@...rix.com>
To: "Ahmed S. Darwish" <darwi@...utronix.de>, Borislav Petkov <bp@...en8.de>,
Ingo Molnar <mingo@...hat.com>, Dave Hansen <dave.hansen@...ux.intel.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
John Ogness <john.ogness@...utronix.de>, "H. Peter Anvin" <hpa@...or.com>,
x86@...nel.org, x86-cpuid@...ts.linux.dev,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1 37/40] x86/cacheinfo: Extract out cache self-snoop
checks
On 04/03/2025 8:51 am, Ahmed S. Darwish wrote:
> The logic of not doing a cache flush if the CPU declares cache self
> snooping support is repeated across the x86/cacheinfo code. Extract it
> into its own function.
>
> Signed-off-by: Ahmed S. Darwish <darwi@...utronix.de>
I know you're just refactoring code, but the SDM has basically reverted
this statement about it being safe to skip WBINVD based on SELFSNOOP.
It turns out not to be safe in cases where the underlying physical
memory changes from cacheable to unchangeable. By skipping the WBINVD
as part of changing the memory type, you end up with spurious writebacks
at a later point when the memory is expected to be UC. Apparently this
is a problem for CLX devices, hence the change in the SDM.
~Andrew
Powered by blists - more mailing lists