Use the new mm_fault_accounting() helper for page fault accounting. cmo_account_page_fault() is special. Keep that.
CC: Michael Ellerman <m...@ellerman.id.au> CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> CC: Paul Mackerras <pau...@samba.org> CC: linuxppc-...@lists.ozlabs.org Signed-off-by: Peter Xu <pet...@redhat.com> --- arch/powerpc/mm/fault.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 84af6c8eecf7..6043b639ae42 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -481,8 +481,6 @@ static int __do_page_fault(struct pt_regs *regs, unsigned long address, if (!arch_irq_disabled_regs(regs)) local_irq_enable(); - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address); - if (error_code & DSISR_KEYFAULT) return bad_key_fault_exception(regs, address, get_mm_addr_key(mm, address)); @@ -604,14 +602,11 @@ static int __do_page_fault(struct pt_regs *regs, unsigned long address, /* * Major/minor page fault accounting. */ - if (major) { - current->maj_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs, address); + if (major) cmo_account_page_fault(); - } else { - current->min_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs, address); - } + + mm_fault_accounting(current, regs, address, major); + return 0; } NOKPROBE_SYMBOL(__do_page_fault); -- 2.26.2