Re: [patch 01/15] mm/memory.c: avoid access flag update TLB flush for retried page fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 27, 2020 at 10:01:47AM -0700, Linus Torvalds wrote:
> On Mon, Jul 27, 2020 at 4:05 AM Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
> > It leaves the spurious flush in place but only local (though note that
> > in a guest under KVM, all local TLBIs are upgraded to inner-shareable,
> > so you'd not get the performance benefit).
> 
> Is there a way to mark and override that for this case?
> 
> It really makes no sense to distribute the TLB invalidation. Even if
> some virtualization manager switches CPU's from under us at _just_ the
> wrong moment, it doesn't matter. It's a spurious thing, at worst we'll
> take one more exception on the other CPU that didn't get flushed after
> all.

Unfortunately, that configuration bit (force broadcast) also affects the
I-cache invalidation. I guess we could experiment with turning it off
and performing the TLB and I-cache invalidation on a vCPU migration. But
we first need to figure out if the non-broadcast TLBI in this case does
make a significant difference in this case (as per Will's comment, maybe
we can make flush_tlb_fix_spurious_fault() a no-op).

-- 
Catalin




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux