Messages in this thread | | | Date | Sat, 11 Jul 2020 12:43:47 -0700 (PDT) | Subject | Re: [PATCH 17/26] mm/riscv: Use general page fault accounting | From | Palmer Dabbelt <> |
| |
On Fri, 26 Jun 2020 15:36:25 PDT (-0700), peterx@redhat.com wrote: > 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. > > CC: Paul Walmsley <paul.walmsley@sifive.com> > CC: Palmer Dabbelt <palmer@dabbelt.com> > CC: Albert Ou <aou@eecs.berkeley.edu> > CC: linux-riscv@lists.infradead.org > Signed-off-by: Peter Xu <peterx@redhat.com> > --- > arch/riscv/mm/fault.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c > index 677ee1bb11ac..e796ba02b572 100644 > --- a/arch/riscv/mm/fault.c > +++ b/arch/riscv/mm/fault.c > @@ -110,7 +110,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs) > * make sure we exit gracefully rather than endlessly redo > * the fault. > */ > - fault = handle_mm_fault(vma, addr, flags, NULL); > + fault = handle_mm_fault(vma, addr, flags, regs); > > /* > * If we need to retry but a fatal signal is pending, handle the > @@ -128,21 +128,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs) > BUG(); > } > > - /* > - * Major/minor page fault accounting is only done on the > - * initial attempt. If we go through a retry, it is extremely > - * likely that the page will be found in page cache at that point. > - */ > if (flags & FAULT_FLAG_ALLOW_RETRY) { > - if (fault & VM_FAULT_MAJOR) { > - tsk->maj_flt++; > - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, > - 1, regs, addr); > - } else { > - tsk->min_flt++; > - perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, > - 1, regs, addr); > - } > if (fault & VM_FAULT_RETRY) { > flags |= FAULT_FLAG_TRIED;
This still slightly changes the accounting numbers, but I don't think it does so in a way that's meaningful enough to care about. SIGBUS is the only one that might happen frequently enough to notice, I doubt anyone cares about whether faults are accounted for during OOM.
Acked-by: Palmer Dabbelt <palmerdabbelt@google.com>
Thanks!
| |