Re: [PATCH 3/3] mm/mmu_gather: send tlb_remove_table_smp_sync IPI only to CPUs in kernel mode

From: Peter Zijlstra
Date: Thu Apr 06 2023 - 11:03:16 EST


On Thu, Apr 06, 2023 at 04:04:23PM +0200, Peter Zijlstra wrote:
> On Thu, Apr 06, 2023 at 03:29:28PM +0200, Peter Zijlstra wrote:
> > On Thu, Apr 06, 2023 at 09:38:50AM -0300, Marcelo Tosatti wrote:
> >
> > > > To actually hit this path you're doing something really dodgy.
> > >
> > > Apparently khugepaged is using the same infrastructure:
> > >
> > > $ grep tlb_remove_table khugepaged.c
> > > tlb_remove_table_sync_one();
> > > tlb_remove_table_sync_one();
> > >
> > > So just enabling khugepaged will hit that path.
> >
> > Urgh, WTF..
> >
> > Let me go read that stuff :/
>
> At the very least the one on collapse_and_free_pmd() could easily become
> a call_rcu() based free.
>
> I'm not sure I'm following what collapse_huge_page() does just yet.

DavidH, what do you thikn about reviving Jann's patches here:

https://bugs.chromium.org/p/project-zero/issues/detail?id=2365#c1

Those are far more invasive, but afaict they seem to do the right thing.