Peter Xu <pet...@redhat.com> writes: > Use the general page fault accounting by passing regs into handle_mm_fault(). > > CC: Michael Ellerman <m...@ellerman.id.au> > CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> > CC: Paul Mackerras <pau...@samba.org> > CC: linuxppc-dev@lists.ozlabs.org > Signed-off-by: Peter Xu <pet...@redhat.com> > --- > arch/powerpc/mm/fault.c | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c > index 992b10c3761c..e325d13efaf5 100644 > --- a/arch/powerpc/mm/fault.c > +++ b/arch/powerpc/mm/fault.c > @@ -563,7 +563,7 @@ static int __do_page_fault(struct pt_regs *regs, unsigned > long address, > * make sure we exit gracefully rather than endlessly redo > * the fault. > */ > - fault = handle_mm_fault(vma, address, flags, NULL); > + fault = handle_mm_fault(vma, address, flags, regs); > > #ifdef CONFIG_PPC_MEM_KEYS > /* > @@ -604,14 +604,9 @@ 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); > - } > + > return 0; > } > NOKPROBE_SYMBOL(__do_page_fault);
You do change the logic a bit if regs is NULL (in mm_account_fault()), but regs can never be NULL in this path, so it looks OK to me. Acked-by: Michael Ellerman <m...@ellerman.id.au> cheers