2017-11-30 21:52:20

by Andy Lutomirski

[permalink] [raw]
Subject: Re: [PATCH 15/24] x86/mm: Allow flushing for future ASID switches

On Thu, Nov 30, 2017 at 12:01 PM, Peter Zijlstra <[email protected]> wrote:
> On Thu, Nov 30, 2017 at 10:48:56AM -0800, Andy Lutomirski wrote:
>> Should it be tlb_flush_shared_nonglobals_if_kernel_and_user_pagetables_are_separate()?
>
> Its effectively invpcid_flush_all_other() or something like that. Of
> course, its not invpcid based, so we should not name it such.
>
> flush_asid_other() ?

How about mark_other_asids_invalid()? It doesn't actually flush
anything. And the caller could be:

if (!kernel_ptes_are_global()) {
/* nothing to do. INVLPG flushes global mappings for all ASIDs. */
} else {
/* There is no efficient way to invalidate a given VA for all ASIDs
simultaneously. */
mark_other_asids_invalid();
}

From 1585522559474486296@xxx Thu Nov 30 20:02:23 +0000 2017
X-GM-THRID: 1585216393710549190
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread