Re: [PATCH tip/core/rcu 4/5] sys_membarrier: Add expedited option

From: Will Deacon
Date: Wed Jul 26 2017 - 05:36:45 EST


On Tue, Jul 25, 2017 at 02:19:26PM -0700, Paul E. McKenney wrote:
> Some architectures are less precise than others in tracking which
> CPUs are running a given process due to ASIDs, though this is
> thought to be a non-problem:
>
> https://marc.info/?l=linux-arch&m=126716090413065&w=2
> https://marc.info/?l=linux-arch&m=126716262815202&w=2
>
> Thoughts?

On arm64, we *never* touch mm_cpumask, so it will always be empty. The only
thing we could potentially use it for is non-broadcast TLB invalidation if
the mm was only active on a single CPU, but when I implemented that we
pretty much never hit that case. I was hoping fork()+exec() would trigger it
(e.g. scripts), but the scheduler treats both of those as rebalancing points
so the temporary ASID before the exec always has two CPUs set in its mask.

Will