1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef VM_EVENT_ITEM_H_INCLUDED 3*4882a593Smuzhiyun #define VM_EVENT_ITEM_H_INCLUDED 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifdef CONFIG_ZONE_DMA 6*4882a593Smuzhiyun #define DMA_ZONE(xx) xx##_DMA, 7*4882a593Smuzhiyun #else 8*4882a593Smuzhiyun #define DMA_ZONE(xx) 9*4882a593Smuzhiyun #endif 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #ifdef CONFIG_ZONE_DMA32 12*4882a593Smuzhiyun #define DMA32_ZONE(xx) xx##_DMA32, 13*4882a593Smuzhiyun #else 14*4882a593Smuzhiyun #define DMA32_ZONE(xx) 15*4882a593Smuzhiyun #endif 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #ifdef CONFIG_HIGHMEM 18*4882a593Smuzhiyun #define HIGHMEM_ZONE(xx) xx##_HIGH, 19*4882a593Smuzhiyun #else 20*4882a593Smuzhiyun #define HIGHMEM_ZONE(xx) 21*4882a593Smuzhiyun #endif 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, HIGHMEM_ZONE(xx) xx##_MOVABLE 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, 26*4882a593Smuzhiyun FOR_ALL_ZONES(PGALLOC), 27*4882a593Smuzhiyun FOR_ALL_ZONES(ALLOCSTALL), 28*4882a593Smuzhiyun FOR_ALL_ZONES(PGSCAN_SKIP), 29*4882a593Smuzhiyun PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE, 30*4882a593Smuzhiyun PGFAULT, PGMAJFAULT, 31*4882a593Smuzhiyun PGLAZYFREED, 32*4882a593Smuzhiyun PGREFILL, 33*4882a593Smuzhiyun PGREUSE, 34*4882a593Smuzhiyun PGSTEAL_KSWAPD, 35*4882a593Smuzhiyun PGSTEAL_DIRECT, 36*4882a593Smuzhiyun PGSCAN_KSWAPD, 37*4882a593Smuzhiyun PGSCAN_DIRECT, 38*4882a593Smuzhiyun PGSCAN_DIRECT_THROTTLE, 39*4882a593Smuzhiyun PGSCAN_ANON, 40*4882a593Smuzhiyun PGSCAN_FILE, 41*4882a593Smuzhiyun PGSTEAL_ANON, 42*4882a593Smuzhiyun PGSTEAL_FILE, 43*4882a593Smuzhiyun #ifdef CONFIG_NUMA 44*4882a593Smuzhiyun PGSCAN_ZONE_RECLAIM_FAILED, 45*4882a593Smuzhiyun #endif 46*4882a593Smuzhiyun PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, 47*4882a593Smuzhiyun KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, 48*4882a593Smuzhiyun PAGEOUTRUN, PGROTATED, 49*4882a593Smuzhiyun DROP_PAGECACHE, DROP_SLAB, 50*4882a593Smuzhiyun OOM_KILL, 51*4882a593Smuzhiyun #ifdef CONFIG_NUMA_BALANCING 52*4882a593Smuzhiyun NUMA_PTE_UPDATES, 53*4882a593Smuzhiyun NUMA_HUGE_PTE_UPDATES, 54*4882a593Smuzhiyun NUMA_HINT_FAULTS, 55*4882a593Smuzhiyun NUMA_HINT_FAULTS_LOCAL, 56*4882a593Smuzhiyun NUMA_PAGE_MIGRATE, 57*4882a593Smuzhiyun #endif 58*4882a593Smuzhiyun #ifdef CONFIG_MIGRATION 59*4882a593Smuzhiyun PGMIGRATE_SUCCESS, PGMIGRATE_FAIL, 60*4882a593Smuzhiyun THP_MIGRATION_SUCCESS, 61*4882a593Smuzhiyun THP_MIGRATION_FAIL, 62*4882a593Smuzhiyun THP_MIGRATION_SPLIT, 63*4882a593Smuzhiyun #endif 64*4882a593Smuzhiyun #ifdef CONFIG_COMPACTION 65*4882a593Smuzhiyun COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED, 66*4882a593Smuzhiyun COMPACTISOLATED, 67*4882a593Smuzhiyun COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS, 68*4882a593Smuzhiyun KCOMPACTD_WAKE, 69*4882a593Smuzhiyun KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED, 70*4882a593Smuzhiyun #endif 71*4882a593Smuzhiyun #ifdef CONFIG_HUGETLB_PAGE 72*4882a593Smuzhiyun HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL, 73*4882a593Smuzhiyun #endif 74*4882a593Smuzhiyun #ifdef CONFIG_CMA 75*4882a593Smuzhiyun CMA_ALLOC_SUCCESS, 76*4882a593Smuzhiyun CMA_ALLOC_FAIL, 77*4882a593Smuzhiyun #endif 78*4882a593Smuzhiyun UNEVICTABLE_PGCULLED, /* culled to noreclaim list */ 79*4882a593Smuzhiyun UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */ 80*4882a593Smuzhiyun UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */ 81*4882a593Smuzhiyun UNEVICTABLE_PGMLOCKED, 82*4882a593Smuzhiyun UNEVICTABLE_PGMUNLOCKED, 83*4882a593Smuzhiyun UNEVICTABLE_PGCLEARED, /* on COW, page truncate */ 84*4882a593Smuzhiyun UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */ 85*4882a593Smuzhiyun #ifdef CONFIG_TRANSPARENT_HUGEPAGE 86*4882a593Smuzhiyun THP_FAULT_ALLOC, 87*4882a593Smuzhiyun THP_FAULT_FALLBACK, 88*4882a593Smuzhiyun THP_FAULT_FALLBACK_CHARGE, 89*4882a593Smuzhiyun THP_COLLAPSE_ALLOC, 90*4882a593Smuzhiyun THP_COLLAPSE_ALLOC_FAILED, 91*4882a593Smuzhiyun THP_FILE_ALLOC, 92*4882a593Smuzhiyun THP_FILE_FALLBACK, 93*4882a593Smuzhiyun THP_FILE_FALLBACK_CHARGE, 94*4882a593Smuzhiyun THP_FILE_MAPPED, 95*4882a593Smuzhiyun THP_SPLIT_PAGE, 96*4882a593Smuzhiyun THP_SPLIT_PAGE_FAILED, 97*4882a593Smuzhiyun THP_DEFERRED_SPLIT_PAGE, 98*4882a593Smuzhiyun THP_SPLIT_PMD, 99*4882a593Smuzhiyun #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD 100*4882a593Smuzhiyun THP_SPLIT_PUD, 101*4882a593Smuzhiyun #endif 102*4882a593Smuzhiyun THP_ZERO_PAGE_ALLOC, 103*4882a593Smuzhiyun THP_ZERO_PAGE_ALLOC_FAILED, 104*4882a593Smuzhiyun THP_SWPOUT, 105*4882a593Smuzhiyun THP_SWPOUT_FALLBACK, 106*4882a593Smuzhiyun #endif 107*4882a593Smuzhiyun #ifdef CONFIG_MEMORY_BALLOON 108*4882a593Smuzhiyun BALLOON_INFLATE, 109*4882a593Smuzhiyun BALLOON_DEFLATE, 110*4882a593Smuzhiyun #ifdef CONFIG_BALLOON_COMPACTION 111*4882a593Smuzhiyun BALLOON_MIGRATE, 112*4882a593Smuzhiyun #endif 113*4882a593Smuzhiyun #endif 114*4882a593Smuzhiyun #ifdef CONFIG_DEBUG_TLBFLUSH 115*4882a593Smuzhiyun NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */ 116*4882a593Smuzhiyun NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */ 117*4882a593Smuzhiyun NR_TLB_LOCAL_FLUSH_ALL, 118*4882a593Smuzhiyun NR_TLB_LOCAL_FLUSH_ONE, 119*4882a593Smuzhiyun #endif /* CONFIG_DEBUG_TLBFLUSH */ 120*4882a593Smuzhiyun #ifdef CONFIG_DEBUG_VM_VMACACHE 121*4882a593Smuzhiyun VMACACHE_FIND_CALLS, 122*4882a593Smuzhiyun VMACACHE_FIND_HITS, 123*4882a593Smuzhiyun #endif 124*4882a593Smuzhiyun #ifdef CONFIG_SWAP 125*4882a593Smuzhiyun SWAP_RA, 126*4882a593Smuzhiyun SWAP_RA_HIT, 127*4882a593Smuzhiyun #endif 128*4882a593Smuzhiyun #ifdef CONFIG_SPECULATIVE_PAGE_FAULT 129*4882a593Smuzhiyun SPECULATIVE_PGFAULT_ANON, 130*4882a593Smuzhiyun SPECULATIVE_PGFAULT_FILE, 131*4882a593Smuzhiyun #endif 132*4882a593Smuzhiyun NR_VM_EVENT_ITEMS 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun #ifndef CONFIG_TRANSPARENT_HUGEPAGE 136*4882a593Smuzhiyun #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; }) 137*4882a593Smuzhiyun #define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; }) 138*4882a593Smuzhiyun #define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; }) 139*4882a593Smuzhiyun #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; }) 140*4882a593Smuzhiyun #endif 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun #endif /* VM_EVENT_ITEM_H_INCLUDED */ 143