On 11/10/2016 06:34 PM, Alex Bennée wrote:
So to properly support ARM TLB flush semantics I want to move some of
the looping in the helpers into cputlb.c so I'm thinking we'll have:
tlb_flush_page_all_cpus
tlb_flush_by_mmuidx_all_cpus
tlb_flush_page_by_mmuidx_all_cpus
Sounds good, thanks.
In fact for ARM we'll be able to put off the reckoning until a DMB
instruction comes along and we can force synchronisation at that point
but I'm assuming there must be other architectures with stricter
requirements.
Yes, I can think of at least one arch for which the cross-cpu flush must finish
before the source cpu continues.
r~