arm64: mm: Make flush_tlb_fix_spurious_fault() a no-op
authorWill Deacon <will@kernel.org>
Wed, 30 Sep 2020 12:20:40 +0000 (13:20 +0100)
committerWill Deacon <will@kernel.org>
Thu, 1 Oct 2020 08:45:32 +0000 (09:45 +0100)
commit6a1bdb173f9967b2329aab0f25bcba963f54e06b
tree5f504bd8dd7dc5c1b67bedf76ca5726c503979fa
parente676594115f0bcc12d4791f9ee919e20d8d750ee
arm64: mm: Make flush_tlb_fix_spurious_fault() a no-op

Our use of broadcast TLB maintenance means that spurious page-faults
that have been handled already by another CPU do not require additional
TLB maintenance.

Make flush_tlb_fix_spurious_fault() a no-op and rely on the existing TLB
invalidation instead. Add an explicit flush_tlb_page() when making a page
dirty, as the TLB is permitted to cache the old read-only entry.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20200728092220.GA21800@willie-the-truck
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/pgtable.h
arch/arm64/mm/fault.c