THP_SPLIT_PAGE_FAILED,
                THP_DEFERRED_SPLIT_PAGE,
                THP_SPLIT_PMD,
+               THP_SCAN_EXCEED_NONE_PTE,
+               THP_SCAN_EXCEED_SWAP_PTE,
+               THP_SCAN_EXCEED_SHARED_PTE,
 #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
                THP_SPLIT_PUD,
 #endif
 
                                continue;
                        } else {
                                result = SCAN_EXCEED_NONE_PTE;
+                               count_vm_event(THP_SCAN_EXCEED_NONE_PTE);
                                goto out;
                        }
                }
                if (page_mapcount(page) > 1 &&
                                ++shared > khugepaged_max_ptes_shared) {
                        result = SCAN_EXCEED_SHARED_PTE;
+                       count_vm_event(THP_SCAN_EXCEED_SHARED_PTE);
                        goto out;
                }
 
                                continue;
                        } else {
                                result = SCAN_EXCEED_SWAP_PTE;
+                               count_vm_event(THP_SCAN_EXCEED_SWAP_PTE);
                                goto out_unmap;
                        }
                }
                                continue;
                        } else {
                                result = SCAN_EXCEED_NONE_PTE;
+                               count_vm_event(THP_SCAN_EXCEED_NONE_PTE);
                                goto out_unmap;
                        }
                }
                if (page_mapcount(page) > 1 &&
                                ++shared > khugepaged_max_ptes_shared) {
                        result = SCAN_EXCEED_SHARED_PTE;
+                       count_vm_event(THP_SCAN_EXCEED_SHARED_PTE);
                        goto out_unmap;
                }
 
                if (xa_is_value(page)) {
                        if (++swap > khugepaged_max_ptes_swap) {
                                result = SCAN_EXCEED_SWAP_PTE;
+                               count_vm_event(THP_SCAN_EXCEED_SWAP_PTE);
                                break;
                        }
                        continue;
        if (result == SCAN_SUCCEED) {
                if (present < HPAGE_PMD_NR - khugepaged_max_ptes_none) {
                        result = SCAN_EXCEED_NONE_PTE;
+                       count_vm_event(THP_SCAN_EXCEED_NONE_PTE);
                } else {
                        node = khugepaged_find_target_node();
                        collapse_file(mm, file, start, hpage, node);
 
        "thp_split_page_failed",
        "thp_deferred_split_page",
        "thp_split_pmd",
+       "thp_scan_exceed_none_pte",
+       "thp_scan_exceed_swap_pte",
+       "thp_scan_exceed_share_pte",
 #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
        "thp_split_pud",
 #endif