Re: [PATCH] mm: mmu_gather: remove __tlb_reset_range() for force flush

From: Peter Zijlstra
Date: Mon May 13 2019 - 07:31:49 EST


On Mon, May 13, 2019 at 09:11:38AM +0000, Nadav Amit wrote:
> BTW: sometimes you donât see the effect of these full TLB flushes as much in
> VMs. I encountered a strange phenomenon at the time - INVLPG for an
> arbitrary page cause my Haswell machine flush the entire TLB, when the
> INVLPG was issued inside a VM. It took me quite some time to analyze this
> problem. Eventually Intel told me thatâs part of what is called âpage
> fracturingâ - if the host uses 4k pages in the EPT, they (usually) need to
> flush the entire TLB for any INVLPG. Thatâs happens since they donât know
> the size of the flushed page.

Cute... if only they'd given us an interface to tell them... :-)