[PATCH v10 23/25] mm: add speculative page fault vmstats

Ganesh Mahendran opensource.ganesh at gmail.com
Wed May 16 12:50:02 AEST 2018


2018-04-17 22:33 GMT+08:00 Laurent Dufour <ldufour at linux.vnet.ibm.com>:
> Add speculative_pgfault vmstat counter to count successful speculative page
> fault handling.
>
> Also fixing a minor typo in include/linux/vm_event_item.h.
>
> Signed-off-by: Laurent Dufour <ldufour at linux.vnet.ibm.com>
> ---
>  include/linux/vm_event_item.h | 3 +++
>  mm/memory.c                   | 1 +
>  mm/vmstat.c                   | 5 ++++-
>  3 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h
> index 5c7f010676a7..a240acc09684 100644
> --- a/include/linux/vm_event_item.h
> +++ b/include/linux/vm_event_item.h
> @@ -111,6 +111,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
>                 SWAP_RA,
>                 SWAP_RA_HIT,
>  #endif
> +#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
> +               SPECULATIVE_PGFAULT,
> +#endif
>                 NR_VM_EVENT_ITEMS
>  };
>
> diff --git a/mm/memory.c b/mm/memory.c
> index 425f07e0bf38..1cd5bc000643 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -4508,6 +4508,7 @@ int __handle_speculative_fault(struct mm_struct *mm, unsigned long address,
>          * If there is no need to retry, don't return the vma to the caller.
>          */
>         if (ret != VM_FAULT_RETRY) {
> +               count_vm_event(SPECULATIVE_PGFAULT);
>                 put_vma(vmf.vma);
>                 *vma = NULL;
>         }
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 536332e988b8..c6b49bfa8139 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1289,7 +1289,10 @@ const char * const vmstat_text[] = {
>         "swap_ra",
>         "swap_ra_hit",
>  #endif
> -#endif /* CONFIG_VM_EVENTS_COUNTERS */
> +#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
> +       "speculative_pgfault"

"speculative_pgfault",
will be better. :)

> +#endif
> +#endif /* CONFIG_VM_EVENT_COUNTERS */
>  };
>  #endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA */
>
> --
> 2.7.4
>


More information about the Linuxppc-dev mailing list