lkml.org 
[lkml]   [2016]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCHv7 07/29] thp, vmstats: add counters for huge file pages
    Date
    THP_FILE_ALLOC: how many times huge page was allocated and put page
    cache.

    THP_FILE_MAPPED: how many times file huge page was mapped.

    Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    ---
    include/linux/vm_event_item.h | 7 +++++++
    mm/memory.c | 1 +
    mm/vmstat.c | 2 ++
    3 files changed, 10 insertions(+)

    diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h
    index ec084321fe09..42604173f122 100644
    --- a/include/linux/vm_event_item.h
    +++ b/include/linux/vm_event_item.h
    @@ -70,6 +70,8 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
    THP_FAULT_FALLBACK,
    THP_COLLAPSE_ALLOC,
    THP_COLLAPSE_ALLOC_FAILED,
    + THP_FILE_ALLOC,
    + THP_FILE_MAPPED,
    THP_SPLIT_PAGE,
    THP_SPLIT_PAGE_FAILED,
    THP_DEFERRED_SPLIT_PAGE,
    @@ -100,4 +102,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
    NR_VM_EVENT_ITEMS
    };

    +#ifndef CONFIG_TRANSPARENT_HUGEPAGE
    +#define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
    +#define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
    +#endif
    +
    #endif /* VM_EVENT_ITEM_H_INCLUDED */
    diff --git a/mm/memory.c b/mm/memory.c
    index ca45e9b19ad9..23de0567db18 100644
    --- a/mm/memory.c
    +++ b/mm/memory.c
    @@ -2907,6 +2907,7 @@ static int do_set_pmd(struct fault_env *fe, struct page *page)

    /* fault is handled */
    ret = 0;
    + count_vm_event(THP_FILE_MAPPED);
    out:
    spin_unlock(fe->ptl);
    return ret;
    diff --git a/mm/vmstat.c b/mm/vmstat.c
    index 38ad49532b6f..904ac95fbf00 100644
    --- a/mm/vmstat.c
    +++ b/mm/vmstat.c
    @@ -846,6 +846,8 @@ const char * const vmstat_text[] = {
    "thp_fault_fallback",
    "thp_collapse_alloc",
    "thp_collapse_alloc_failed",
    + "thp_file_alloc",
    + "thp_file_mapped",
    "thp_split_page",
    "thp_split_page_failed",
    "thp_deferred_split_page",
    --
    2.8.0.rc3
    \
     
     \ /
      Last update: 2016-04-16 02:41    [W:6.157 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site