181084Sjake/* SPDX-License-Identifier: GPL-2.0 */ 281084Sjake#ifndef VM_EVENT_ITEM_H_INCLUDED 381084Sjake#define VM_EVENT_ITEM_H_INCLUDED 481084Sjake 581084Sjake#ifdef CONFIG_ZONE_DMA 681084Sjake#define DMA_ZONE(xx) xx##_DMA, 781084Sjake#else 881084Sjake#define DMA_ZONE(xx) 981084Sjake#endif 1081084Sjake 1191671Sume#ifdef CONFIG_ZONE_DMA32 1291671Sume#define DMA32_ZONE(xx) xx##_DMA32, 13104487Ssam#else 14104487Ssam#define DMA32_ZONE(xx) 15136301Syongari#endif 16136301Syongari 17130294Sscottl#ifdef CONFIG_HIGHMEM 18130294Sscottl#define HIGHMEM_ZONE(xx) xx##_HIGH, 19119382Sjake#else 20119382Sjake#define HIGHMEM_ZONE(xx) 21119382Sjake#endif 22119382Sjake 23133589Smarius#ifdef CONFIG_ZONE_DEVICE 2490623Stmm#define DEVICE_ZONE(xx) xx##_DEVICE, 2586148Stmm#else 26105399Stmm#define DEVICE_ZONE(xx) 27116584Sjake#endif 28136944Syongari 29136944Syongari#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, \ 30119382Sjake HIGHMEM_ZONE(xx) xx##_MOVABLE, DEVICE_ZONE(xx) 31119382Sjake 32119382Sjakeenum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, 33119382Sjake FOR_ALL_ZONES(PGALLOC) 34119382Sjake FOR_ALL_ZONES(ALLOCSTALL) 35119382Sjake FOR_ALL_ZONES(PGSCAN_SKIP) 36119382Sjake PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE, 37119382Sjake PGFAULT, PGMAJFAULT, 38119382Sjake PGLAZYFREED, 39119382Sjake PGREFILL, 40119816Smarcel PGREUSE, 41122470Sjake PGSTEAL_KSWAPD, 42104519Sphk PGSTEAL_DIRECT, 43113591Sphk PGSTEAL_KHUGEPAGED, 44104519Sphk PGSCAN_KSWAPD, 45113819Sphk PGSCAN_DIRECT, 4693122Stmm PGSCAN_KHUGEPAGED, 47124516Sdes PGSCAN_DIRECT_THROTTLE, 48124481Sdes PGSCAN_ANON, 49124481Sdes PGSCAN_FILE, 50124481Sdes PGSTEAL_ANON, 51111072Sjake PGSTEAL_FILE, 52119382Sjake#ifdef CONFIG_NUMA 53100399Speter PGSCAN_ZONE_RECLAIM_FAILED, 54111072Sjake#endif 55111072Sjake PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, 56111072Sjake KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, 5786235Stmm PAGEOUTRUN, PGROTATED, 58136944Syongari DROP_PAGECACHE, DROP_SLAB, 59133781Smarius OOM_KILL, 60133781Smarius#ifdef CONFIG_NUMA_BALANCING 61133781Smarius NUMA_PTE_UPDATES, 62128758Smarius NUMA_HUGE_PTE_UPDATES, 6386235Stmm NUMA_HINT_FAULTS, 64129051Smarius NUMA_HINT_FAULTS_LOCAL, 65129051Smarius NUMA_PAGE_MIGRATE, 66129051Smarius#endif 67133781Smarius#ifdef CONFIG_MIGRATION 68133781Smarius PGMIGRATE_SUCCESS, PGMIGRATE_FAIL, 6986235Stmm THP_MIGRATION_SUCCESS, 7090623Stmm THP_MIGRATION_FAIL, 7181084Sjake THP_MIGRATION_SPLIT, 7286235Stmm#endif 7386235Stmm#ifdef CONFIG_COMPACTION 74112399Sjake COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED, 7581084Sjake COMPACTISOLATED, 7690623Stmm COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS, 7793264Sdillon KCOMPACTD_WAKE, 7890623Stmm KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED, 7990623Stmm#endif 8090623Stmm#ifdef CONFIG_HUGETLB_PAGE 8190623Stmm HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL, 82105531Stmm#endif 8381084Sjake#ifdef CONFIG_CMA 84111684Sru CMA_ALLOC_SUCCESS, 8593840Stmm CMA_ALLOC_FAIL, 8693840Stmm#endif 87133589Smarius UNEVICTABLE_PGCULLED, /* culled to noreclaim list */ 8893840Stmm UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */ 89131951Smarcel UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */ 9084202Sjake UNEVICTABLE_PGMLOCKED, 9190623Stmm UNEVICTABLE_PGMUNLOCKED, 92111684Sru UNEVICTABLE_PGCLEARED, /* on COW, page truncate */ 9381390Sjake UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */ 9486235Stmm#ifdef CONFIG_TRANSPARENT_HUGEPAGE 95111684Sru THP_FAULT_ALLOC, 9681084Sjake THP_FAULT_FALLBACK, 97132956Smarkm THP_FAULT_FALLBACK_CHARGE, 98101070Sjake THP_COLLAPSE_ALLOC, 99101070Sjake THP_COLLAPSE_ALLOC_FAILED, 10089053Sjake THP_FILE_ALLOC, 10186235Stmm THP_FILE_FALLBACK, 10293855Stmm THP_FILE_FALLBACK_CHARGE, 10386235Stmm THP_FILE_MAPPED, 10481084Sjake THP_SPLIT_PAGE, 105100844Sjake THP_SPLIT_PAGE_FAILED, 10682914Sjake THP_DEFERRED_SPLIT_PAGE, 107119382Sjake THP_SPLIT_PMD, 108112399Sjake THP_SCAN_EXCEED_NONE_PTE, 109101070Sjake THP_SCAN_EXCEED_SWAP_PTE, 11081084Sjake THP_SCAN_EXCEED_SHARED_PTE, 111101070Sjake#ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD 11281390Sjake THP_SPLIT_PUD, 11396998Sjake#endif 11481084Sjake THP_ZERO_PAGE_ALLOC, 11581084Sjake THP_ZERO_PAGE_ALLOC_FAILED, 116127297Salc THP_SWPOUT, 11781084Sjake THP_SWPOUT_FALLBACK, 118122832Simp#endif 119122832Simp#ifdef CONFIG_MEMORY_BALLOON 120122832Simp BALLOON_INFLATE, 121122832Simp BALLOON_DEFLATE, 122122832Simp#ifdef CONFIG_BALLOON_COMPACTION 123122832Simp BALLOON_MIGRATE, 124#endif 125#endif 126#ifdef CONFIG_DEBUG_TLBFLUSH 127 NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */ 128 NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */ 129 NR_TLB_LOCAL_FLUSH_ALL, 130 NR_TLB_LOCAL_FLUSH_ONE, 131#endif /* CONFIG_DEBUG_TLBFLUSH */ 132#ifdef CONFIG_SWAP 133 SWAP_RA, 134 SWAP_RA_HIT, 135#ifdef CONFIG_KSM 136 KSM_SWPIN_COPY, 137#endif 138#endif 139#ifdef CONFIG_KSM 140 COW_KSM, 141#endif 142#ifdef CONFIG_ZSWAP 143 ZSWPIN, 144 ZSWPOUT, 145 ZSWPWB, 146#endif 147#ifdef CONFIG_X86 148 DIRECT_MAP_LEVEL2_SPLIT, 149 DIRECT_MAP_LEVEL3_SPLIT, 150#endif 151#ifdef CONFIG_PER_VMA_LOCK_STATS 152 VMA_LOCK_SUCCESS, 153 VMA_LOCK_ABORT, 154 VMA_LOCK_RETRY, 155 VMA_LOCK_MISS, 156#endif 157 NR_VM_EVENT_ITEMS 158}; 159 160#ifndef CONFIG_TRANSPARENT_HUGEPAGE 161#define THP_FILE_ALLOC ({ BUILD_BUG(); 0; }) 162#define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; }) 163#define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; }) 164#define THP_FILE_MAPPED ({ BUILD_BUG(); 0; }) 165#endif 166 167#endif /* VM_EVENT_ITEM_H_INCLUDED */ 168