mm, vmstats: new THP splitting event
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Sat, 16 Jan 2016 00:52:46 +0000 (16:52 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 16 Jan 2016 01:56:32 +0000 (17:56 -0800)
The patch replaces THP_SPLIT with tree events: THP_SPLIT_PAGE,
THP_SPLIT_PAGE_FAILED and THP_SPLIT_PMD.  It reflects the fact that we
are going to be able split PMD without the compound page and that
split_huge_page() can fail.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Christoph Lameter <cl@linux.com>
Tested-by: Sasha Levin <sasha.levin@oracle.com>
Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Jerome Marchand <jmarchan@redhat.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Steve Capper <steve.capper@linaro.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/vm_event_item.h
mm/huge_memory.c
mm/vmstat.c

index e623d392db0c16c4cfc21102bfb3d63158d14326..e1f8c993e73bd58875fcfb1df18e76754cadcaa7 100644 (file)
@@ -68,7 +68,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
                THP_FAULT_FALLBACK,
                THP_COLLAPSE_ALLOC,
                THP_COLLAPSE_ALLOC_FAILED,
-               THP_SPLIT,
+               THP_SPLIT_PAGE,
+               THP_SPLIT_PAGE_FAILED,
+               THP_SPLIT_PMD,
                THP_ZERO_PAGE_ALLOC,
                THP_ZERO_PAGE_ALLOC_FAILED,
 #endif
index 0d70ec056ecc5f4842a0a0f473aff2f40705fe25..dafa80aa816db541a00e1d639ed517c2be1f310a 100644 (file)
@@ -2022,7 +2022,7 @@ int split_huge_page_to_list(struct page *page, struct list_head *list)
 
        BUG_ON(!PageSwapBacked(page));
        __split_huge_page(page, anon_vma, list);
-       count_vm_event(THP_SPLIT);
+       count_vm_event(THP_SPLIT_PAGE);
 
        BUG_ON(PageCompound(page));
 out_unlock:
index 83a003bc3cae54e3c2b1071249a5c282f70d3220..6489086f0753cc1dffd9479caa1fbd8c23611c8a 100644 (file)
@@ -844,7 +844,9 @@ const char * const vmstat_text[] = {
        "thp_fault_fallback",
        "thp_collapse_alloc",
        "thp_collapse_alloc_failed",
-       "thp_split",
+       "thp_split_page",
+       "thp_split_page_failed",
+       "thp_split_pmd",
        "thp_zero_page_alloc",
        "thp_zero_page_alloc_failed",
 #endif