Re: [PATCH v6 06/18] asm-generic/tlb: Conditionally provide tlb_migrate_finish()

From: Matthew Wilcox
Date: Wed Feb 20 2019 - 10:03:02 EST


On Wed, Feb 20, 2019 at 02:47:05PM +0000, Will Deacon wrote:
> On Tue, Feb 19, 2019 at 02:41:47PM +0100, Peter Zijlstra wrote:
> > On Tue, Feb 19, 2019 at 12:47:38PM +0000, Will Deacon wrote:
> > > Fine for now, but I agree that we should drop the hook altogether. AFAICT,
> > > this only exists to help an ia64 optimisation which looks suspicious to
> > > me since it uses:
> > >
> > > mm == current->active_mm && atomic_read(&mm->mm_users) == 1
> > >
> > > to identify a "single-threaded fork()" and therefore perform only local TLB
> > > invalidation. Even if this was the right thing to do, it's not clear to me
> > > that tlb_migrate_finish() is called on the right CPU anyway.
> > >
> > > So I'd be keen to remove this hook before it spreads, but in the meantime:
> >
> > Agreed :-)
> >
> > The obvious slash and kill patch ... untested
>
> I'm also unable to test this, unfortunately. Can we get it into next after
> the merge window and see if anybody reports issues?

While I do have a pair of Itanium systems in my basement, neither are
sn2 machines, which was the only sub-architecture that implemented
tlb_migrate_finish(). I see NASA decomissioned Columbia in 2013, and
I imagine most sn2 machines have been similarly scrapped.