Re: [linus:master] [x86] 4817f70c25: stress-ng.mmapaddr.ops_per_sec 63.0% regression
From: Peter Zijlstra
Date: Tue Jan 28 2025 - 08:29:12 EST
On Tue, Jan 28, 2025 at 12:39:51PM +0100, David Hildenbrand wrote:
> On 28.01.25 12:31, Peter Zijlstra wrote:
> > > I recall a recent series to select MMU_GATHER_RCU_TABLE_FREE on x86
> > > unconditionally (@Peter, @Rik).
> >
> > Those changes should not have made it to Linus yet.
> >
> > /me updates git and checks...
> >
> > nope, nothing changed there ... yet
>
> Sorry, I wasn't quite clear. CONFIG_PT_RECLAIM made it upstream, which has
> "select MMU_GATHER_RCU_TABLE_FREE" in kconfig.
>
> So I'm wondering if the degradation we see in this report is due to
> MMU_GATHER_RCU_TABLE_FREE being selected by CONFIG_PT_RECLAIM, and we'd get
> the same result (degradation) when unconditionally enabling
> MMU_GATHER_RCU_TABLE_FREE.
Ah, yes, put a RHEL based config (as is the case here) should already
have it selected due to PARAVIRT.
But the thing is, that same paravirt crud will then map
paravirt_tlb_remove_table() to tlb_remove_page() on native, effectively
disabling the whole thing again.
It's only for actual virt stuff, that tlb_remove_table() is used.
These patches from Rik take all this stuff out and always use
tlb_remove_table().