ARM64: tlbflush: fix incorrect local tlb flush check

commit 123e4f9fdd0823ce45881e5c12cf0b0c941ad823 (arm64: tlb: avoid
use of smp_processor_id()) made the incorrect assumption that
an mm with only a single cpu in the cpumask must be running on the
current cpu.  That is true for tlb flushes triggered by the process,
but is not true for tlb flushes that come from another process,
for example in direct reclaim, which may unmap clean pages from other
processes in order to free memory.

Go back to the simpler check for whether the mm has been used on
any other cpu, but disable preemption to avoid a context switch
between smp_processor_id() and the local tlb flush.

Change-Id: I09a65776e102885460ade0a1fabe13afb8253214
Signed-off-by: Colin Cross <ccross@android.com>