Re: [PATCH 2/4] mm/tlb: Remove tlb_remove_table() non-concurrent condition

From: Linus Torvalds
Date: Wed Aug 22 2018 - 23:35:32 EST

On Wed, Aug 22, 2018 at 8:31 PM Nicholas Piggin <npiggin@xxxxxxxxx> wrote:
> So that leaves speculative operations. I don't see where the problem is
> with those either -- this shortcut needs to ensure there are no other
> *non speculative* operations. mm_users is correct for that.

No. Because mm_users doesn't contain any lazy tlb users.

And yes, those lazy tlbs are all kernel threads, but they can still
speculatively load user addresses.