[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALCETrXQaayeV-6n_2dycMo7ienQPizTqYQDEAy1C2KLPrCt8Q@mail.gmail.com>
Date: Mon, 15 Jul 2019 07:31:23 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Uros Bizjak <ubizjak@...il.com>,
Dave Hansen <dave.hansen@...el.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>, X86 ML <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] x86/cpu/intel: Skip CPA cache flush on CPUs with cache self-snooping
On Mon, Jul 15, 2019 at 7:21 AM Uros Bizjak <ubizjak@...il.com> wrote:
>
> CPUs which have self-snooping capability can handle conflicting
> memory type across CPUs by snooping its own cache. Commit #fd329f276ecaa
> ("x86/mtrr: Skip cache flushes on CPUs with cache self-snooping")
> avoids cache flushes when MTRR registers are programmed. The Page
> Attribute Table (PAT) is a companion feature to the MTRRs, and according
> to section 11.12.4 of the Intel 64 and IA 32 Architectures Software
> Developer's Manual, if the CPU supports cache self-snooping, it is not
> necessary to flush caches when remapping a page that was previously
> mapped as a different memory type.
>
> Note that commit #1e03bff360010
> ("x86/cpu/intel: Clear cache self-snoop capability in CPUs with known errata")
> cleared cache self-snoop capability for CPUs where conflicting memory types
> lead to unpredictable behavior, machine check errors, or hangs.
It looks like this won't affect the SEV code paths, so I'm not
thinking of anything that this will break. But Dave and Peter are
much, much more familiar with the messes this could cause than I am.
--Andy
Powered by blists - more mailing lists