Use the new mm_fault_accounting() helper for page fault accounting. Also, move the accounting to be after release of mmap_sem. CC: Guo Ren <guoren@xxxxxxxxxx> CC: linux-csky@xxxxxxxxxxxxxxx Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> --- arch/csky/mm/fault.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c index 4e6dc68f3258..8f8d34d27eca 100644 --- a/arch/csky/mm/fault.c +++ b/arch/csky/mm/fault.c @@ -111,8 +111,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, return; } #endif - - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address); /* * If we're in an interrupt or have no user * context, we must not take the fault.. @@ -160,17 +158,8 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, goto bad_area; BUG(); } - if (fault & VM_FAULT_MAJOR) { - tsk->maj_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs, - address); - } else { - tsk->min_flt++; - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs, - address); - } - up_read(&mm->mmap_sem); + mm_fault_accounting(tsk, regs, address, fault & VM_FAULT_MAJOR); return; /* -- 2.26.2