On Mon, Jun 15, 2020 at 06:15:48PM -0400, Peter Xu wrote:
> Use the new mm_fault_accounting() helper for page fault accounting.
> 
> CC: Catalin Marinas <[email protected]>
> CC: Will Deacon <[email protected]>
> CC: [email protected]
> Signed-off-by: Peter Xu <[email protected]>
> ---
>  arch/arm64/mm/fault.c | 17 ++---------------
>  1 file changed, 2 insertions(+), 15 deletions(-)
> 
> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
> index c9cedc0432d2..09af7d7a60ec 100644
> --- a/arch/arm64/mm/fault.c
> +++ b/arch/arm64/mm/fault.c
> @@ -484,8 +484,6 @@ static int __kprobes do_page_fault(unsigned long addr, 
> unsigned int esr,
>                                        addr, esr, regs);
>       }
>  
> -     perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr);
> -
>       /*
>        * As per x86, we may deadlock here. However, since the kernel only
>        * validly references user space from well defined areas of the code,
> @@ -535,20 +533,9 @@ static int __kprobes do_page_fault(unsigned long addr, 
> unsigned int esr,
>                             VM_FAULT_BADACCESS)))) {
>               /*
>                * Major/minor page fault accounting is only done
> -              * once. If we go through a retry, it is extremely
> -              * likely that the page will be found in page cache at
> -              * that point.
> +              * once.
>                */
> -             if (major) {
> -                     current->maj_flt++;
> -                     perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs,
> -                                   addr);
> -             } else {
> -                     current->min_flt++;
> -                     perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs,
> -                                   addr);
> -             }
> -
> +             mm_fault_accounting(current, regs, address, major);

Please can you explain why it's ok to move the PERF_COUNT_SW_PAGE_FAULTS
update like this? Seems like a user-visible change to me, so some
justification would really help.

Will

Reply via email to