lkml.org 
[lkml]   [2019]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v12 27/31] mm: add speculative page fault vmstats
    Date
    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@linux.ibm.com>
    ---
    include/linux/vm_event_item.h | 3 +++
    mm/memory.c | 3 +++
    mm/vmstat.c | 5 ++++-
    3 files changed, 10 insertions(+), 1 deletion(-)

    diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h
    index 47a3441cf4c4..137666e91074 100644
    --- a/include/linux/vm_event_item.h
    +++ b/include/linux/vm_event_item.h
    @@ -109,6 +109,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
    #ifdef CONFIG_SWAP
    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 509851ad7c95..c65e8011d285 100644
    --- a/mm/memory.c
    +++ b/mm/memory.c
    @@ -4367,6 +4367,9 @@ vm_fault_t __handle_speculative_fault(struct mm_struct *mm,

    put_vma(vma);

    + if (ret != VM_FAULT_RETRY)
    + count_vm_event(SPECULATIVE_PGFAULT);
    +
    /*
    * The task may have entered a memcg OOM situation but
    * if the allocation error was handled gracefully (no
    diff --git a/mm/vmstat.c b/mm/vmstat.c
    index a7d493366a65..93f54b31e150 100644
    --- a/mm/vmstat.c
    +++ b/mm/vmstat.c
    @@ -1288,7 +1288,10 @@ const char * const vmstat_text[] = {
    "swap_ra",
    "swap_ra_hit",
    #endif
    -#endif /* CONFIG_VM_EVENTS_COUNTERS */
    +#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
    + "speculative_pgfault",
    +#endif
    +#endif /* CONFIG_VM_EVENT_COUNTERS */
    };
    #endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA */

    --
    2.21.0
    \
     
     \ /
      Last update: 2019-04-16 15:48    [W:2.735 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site