[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrWUH4+sZh3WR-=K_cQZD2+-8hX7v0EiK1=AKhf4Xzo3nw@mail.gmail.com>
Date: Thu, 30 Nov 2017 07:42:15 -0800
From: Andy Lutomirski <luto@...capital.net>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>,
"H . Peter Anvin" <hpa@...or.com>, Borislav Petkov <bp@...en8.de>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 15/24] x86/mm: Allow flushing for future ASID switches
On Thu, Nov 30, 2017 at 7:40 AM, Peter Zijlstra <peterz@...radead.org> wrote:
> On Mon, Nov 27, 2017 at 09:16:19PM -0800, Andy Lutomirski wrote:
>> We've gotten away with having a single
>> function for both this long because we've never had PCID on and
>> nonglobal kernel mappings around. So we're busted starting with
>> "x86/mm/kaiser: Disable global pages by default with KAISER", which
>> means that we have a potential corruption issue affecting anyone who
>> tries to bisect the series.
>>
>> Then we need to make the kernel variant do something sane (presumably
>> just call __flush_tlb_all if we have PCID && !PGE).
>
> (We don't support PCID && !PGE)
>
> __flush_tlb_all() if PCID, because it needs to flush the thing from all
> kernel ASIDs, which this patch -- however nasty -- achieves best.
>
>
Brain fart there. What I meant was: the old code was wrong if PCID
was on and the page being flushed wasn't GLOBAL. Which is what KAISER
dies.
Powered by blists - more mailing lists