mm/arm: use general page fault accounting
authorPeter Xu <peterx@redhat.com>
Wed, 12 Aug 2020 01:37:54 +0000 (18:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 12 Aug 2020 17:58:03 +0000 (10:58 -0700)
commit79fea6c6548e28400d7870c61477d35aecb7baf8
tree3d32fe5205fbb0fc63c2b80b05fdd8f4e55be0cb
parent52e3f8d03052036ce97296915a3746421a1da1d0
mm/arm: use general page fault accounting

Use the general page fault accounting by passing regs into
handle_mm_fault().  It naturally solve the issue of multiple page fault
accounting when page fault retry happened.  To do this, we need to pass
the pt_regs pointer into __do_page_fault().

Fix PERF_COUNT_SW_PAGE_FAULTS perf event manually for page fault retries,
by moving it before taking mmap_sem.

Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Will Deacon <will@kernel.org>
Link: http://lkml.kernel.org/r/20200707225021.200906-5-peterx@redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm/mm/fault.c