1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2f042e707SAndrew Morton #ifndef VM_EVENT_ITEM_H_INCLUDED 3f042e707SAndrew Morton #define VM_EVENT_ITEM_H_INCLUDED 4f042e707SAndrew Morton 5f042e707SAndrew Morton #ifdef CONFIG_ZONE_DMA 6f042e707SAndrew Morton #define DMA_ZONE(xx) xx##_DMA, 7f042e707SAndrew Morton #else 8f042e707SAndrew Morton #define DMA_ZONE(xx) 9f042e707SAndrew Morton #endif 10f042e707SAndrew Morton 11f042e707SAndrew Morton #ifdef CONFIG_ZONE_DMA32 12f042e707SAndrew Morton #define DMA32_ZONE(xx) xx##_DMA32, 13f042e707SAndrew Morton #else 14f042e707SAndrew Morton #define DMA32_ZONE(xx) 15f042e707SAndrew Morton #endif 16f042e707SAndrew Morton 17f042e707SAndrew Morton #ifdef CONFIG_HIGHMEM 18f7ae3a95Syalin wang #define HIGHMEM_ZONE(xx) xx##_HIGH, 19f042e707SAndrew Morton #else 20f042e707SAndrew Morton #define HIGHMEM_ZONE(xx) 21f042e707SAndrew Morton #endif 22f042e707SAndrew Morton 23a39c5d3cSHao Lee #ifdef CONFIG_ZONE_DEVICE 24a39c5d3cSHao Lee #define DEVICE_ZONE(xx) xx##_DEVICE, 25a39c5d3cSHao Lee #else 26a39c5d3cSHao Lee #define DEVICE_ZONE(xx) 27a39c5d3cSHao Lee #endif 28a39c5d3cSHao Lee 29a39c5d3cSHao Lee #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, \ 30a39c5d3cSHao Lee HIGHMEM_ZONE(xx) xx##_MOVABLE, DEVICE_ZONE(xx) 31f042e707SAndrew Morton 32f042e707SAndrew Morton enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, 33a39c5d3cSHao Lee FOR_ALL_ZONES(PGALLOC) 34a39c5d3cSHao Lee FOR_ALL_ZONES(ALLOCSTALL) 35a39c5d3cSHao Lee FOR_ALL_ZONES(PGSCAN_SKIP) 36f7ad2a6cSShaohua Li PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE, 37f042e707SAndrew Morton PGFAULT, PGMAJFAULT, 38854e9ed0SMinchan Kim PGLAZYFREED, 39599d0c95SMel Gorman PGREFILL, 40798a6b87SPeter Xu PGREUSE, 41599d0c95SMel Gorman PGSTEAL_KSWAPD, 42599d0c95SMel Gorman PGSTEAL_DIRECT, 4357e9cc50SJohannes Weiner PGSTEAL_KHUGEPAGED, 44*e452872bSHao Jia PGSTEAL_PROACTIVE, 45599d0c95SMel Gorman PGSCAN_KSWAPD, 46599d0c95SMel Gorman PGSCAN_DIRECT, 4757e9cc50SJohannes Weiner PGSCAN_KHUGEPAGED, 48*e452872bSHao Jia PGSCAN_PROACTIVE, 4968243e76SMel Gorman PGSCAN_DIRECT_THROTTLE, 50497a6c1bSJohannes Weiner PGSCAN_ANON, 51497a6c1bSJohannes Weiner PGSCAN_FILE, 52497a6c1bSJohannes Weiner PGSTEAL_ANON, 53497a6c1bSJohannes Weiner PGSTEAL_FILE, 54f042e707SAndrew Morton #ifdef CONFIG_NUMA 555fe690a5SMatthew Cassell PGSCAN_ZONE_RECLAIM_SUCCESS, 56f042e707SAndrew Morton PGSCAN_ZONE_RECLAIM_FAILED, 57f042e707SAndrew Morton #endif 58904249aaSYing Han PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, 59f042e707SAndrew Morton KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, 607cc30fcfSMel Gorman PAGEOUTRUN, PGROTATED, 615509a5d2SDave Hansen DROP_PAGECACHE, DROP_SLAB, 628e675f7aSKonstantin Khlebnikov OOM_KILL, 6303c5a6e1SMel Gorman #ifdef CONFIG_NUMA_BALANCING 6403c5a6e1SMel Gorman NUMA_PTE_UPDATES, 6572403b4aSMel Gorman NUMA_HUGE_PTE_UPDATES, 6603c5a6e1SMel Gorman NUMA_HINT_FAULTS, 6703c5a6e1SMel Gorman NUMA_HINT_FAULTS_LOCAL, 6803c5a6e1SMel Gorman NUMA_PAGE_MIGRATE, 6903c5a6e1SMel Gorman #endif 705647bc29SMel Gorman #ifdef CONFIG_MIGRATION 715647bc29SMel Gorman PGMIGRATE_SUCCESS, PGMIGRATE_FAIL, 721a5bae25SAnshuman Khandual THP_MIGRATION_SUCCESS, 731a5bae25SAnshuman Khandual THP_MIGRATION_FAIL, 741a5bae25SAnshuman Khandual THP_MIGRATION_SPLIT, 755647bc29SMel Gorman #endif 76f042e707SAndrew Morton #ifdef CONFIG_COMPACTION 77397487dbSMel Gorman COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED, 78397487dbSMel Gorman COMPACTISOLATED, 79f042e707SAndrew Morton COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS, 80698b1b30SVlastimil Babka KCOMPACTD_WAKE, 817f354a54SDavid Rientjes KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED, 82f042e707SAndrew Morton #endif 83f042e707SAndrew Morton #ifdef CONFIG_HUGETLB_PAGE 84f042e707SAndrew Morton HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL, 85f042e707SAndrew Morton #endif 86bbb26920SMinchan Kim #ifdef CONFIG_CMA 87bbb26920SMinchan Kim CMA_ALLOC_SUCCESS, 88bbb26920SMinchan Kim CMA_ALLOC_FAIL, 89bbb26920SMinchan Kim #endif 90f042e707SAndrew Morton UNEVICTABLE_PGCULLED, /* culled to noreclaim list */ 91f042e707SAndrew Morton UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */ 92f042e707SAndrew Morton UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */ 93f042e707SAndrew Morton UNEVICTABLE_PGMLOCKED, 94f042e707SAndrew Morton UNEVICTABLE_PGMUNLOCKED, 95f042e707SAndrew Morton UNEVICTABLE_PGCLEARED, /* on COW, page truncate */ 96f042e707SAndrew Morton UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */ 97f042e707SAndrew Morton #ifdef CONFIG_TRANSPARENT_HUGEPAGE 98f042e707SAndrew Morton THP_FAULT_ALLOC, 99f042e707SAndrew Morton THP_FAULT_FALLBACK, 10085b9f46eSDavid Rientjes THP_FAULT_FALLBACK_CHARGE, 101f042e707SAndrew Morton THP_COLLAPSE_ALLOC, 102f042e707SAndrew Morton THP_COLLAPSE_ALLOC_FAILED, 10395ecedcdSKirill A. Shutemov THP_FILE_ALLOC, 104dcdf11eeSDavid Rientjes THP_FILE_FALLBACK, 10585b9f46eSDavid Rientjes THP_FILE_FALLBACK_CHARGE, 10695ecedcdSKirill A. Shutemov THP_FILE_MAPPED, 107122afea9SKirill A. Shutemov THP_SPLIT_PAGE, 108122afea9SKirill A. Shutemov THP_SPLIT_PAGE_FAILED, 109f9719a03SKirill A. Shutemov THP_DEFERRED_SPLIT_PAGE, 110dafff3f4SUsama Arif THP_UNDERUSED_SPLIT_PAGE, 111122afea9SKirill A. Shutemov THP_SPLIT_PMD, 112e9ea874aSYang Yang THP_SCAN_EXCEED_NONE_PTE, 113e9ea874aSYang Yang THP_SCAN_EXCEED_SWAP_PTE, 114e9ea874aSYang Yang THP_SCAN_EXCEED_SHARED_PTE, 115ce9311cfSYisheng Xie #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD 116ce9311cfSYisheng Xie THP_SPLIT_PUD, 117ce9311cfSYisheng Xie #endif 118d8a8e1f0SKirill A. Shutemov THP_ZERO_PAGE_ALLOC, 119d8a8e1f0SKirill A. Shutemov THP_ZERO_PAGE_ALLOC_FAILED, 120225311a4SHuang Ying THP_SWPOUT, 121fe490cc0SHuang Ying THP_SWPOUT_FALLBACK, 122f042e707SAndrew Morton #endif 12309316c09SKonstantin Khlebnikov #ifdef CONFIG_MEMORY_BALLOON 12409316c09SKonstantin Khlebnikov BALLOON_INFLATE, 12509316c09SKonstantin Khlebnikov BALLOON_DEFLATE, 12609316c09SKonstantin Khlebnikov #ifdef CONFIG_BALLOON_COMPACTION 12709316c09SKonstantin Khlebnikov BALLOON_MIGRATE, 12809316c09SKonstantin Khlebnikov #endif 12909316c09SKonstantin Khlebnikov #endif 130ec659934SMel Gorman #ifdef CONFIG_DEBUG_TLBFLUSH 1319824cf97SDave Hansen NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */ 1329824cf97SDave Hansen NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */ 1339824cf97SDave Hansen NR_TLB_LOCAL_FLUSH_ALL, 1349824cf97SDave Hansen NR_TLB_LOCAL_FLUSH_ONE, 135ec659934SMel Gorman #endif /* CONFIG_DEBUG_TLBFLUSH */ 136cbc65df2SHuang Ying #ifdef CONFIG_SWAP 137cbc65df2SHuang Ying SWAP_RA, 138cbc65df2SHuang Ying SWAP_RA_HIT, 139e7ac4daeSBarry Song SWPIN_ZERO, 140e7ac4daeSBarry Song SWPOUT_ZERO, 1414d45c3afSYang Yang #ifdef CONFIG_KSM 1424d45c3afSYang Yang KSM_SWPIN_COPY, 1434d45c3afSYang Yang #endif 144cbc65df2SHuang Ying #endif 14594bfe85bSYang Yang #ifdef CONFIG_KSM 14694bfe85bSYang Yang COW_KSM, 14794bfe85bSYang Yang #endif 148f6498b77SJohannes Weiner #ifdef CONFIG_ZSWAP 149f6498b77SJohannes Weiner ZSWPIN, 150f6498b77SJohannes Weiner ZSWPOUT, 1517108cc3fSDomenico Cerasuolo ZSWPWB, 152f6498b77SJohannes Weiner #endif 153575299eaSSaravanan D #ifdef CONFIG_X86 154575299eaSSaravanan D DIRECT_MAP_LEVEL2_SPLIT, 155575299eaSSaravanan D DIRECT_MAP_LEVEL3_SPLIT, 156575299eaSSaravanan D DIRECT_MAP_LEVEL2_COLLAPSE, 15752f23865SSuren Baghdasaryan DIRECT_MAP_LEVEL3_COLLAPSE, 15852f23865SSuren Baghdasaryan #endif 15952f23865SSuren Baghdasaryan #ifdef CONFIG_PER_VMA_LOCK_STATS 16052f23865SSuren Baghdasaryan VMA_LOCK_SUCCESS, 16152f23865SSuren Baghdasaryan VMA_LOCK_ABORT, 16252f23865SSuren Baghdasaryan VMA_LOCK_RETRY, 163c4a6fce8SPasha Tatashin VMA_LOCK_MISS, 164c4a6fce8SPasha Tatashin #endif 165c4a6fce8SPasha Tatashin #ifdef CONFIG_DEBUG_STACK_USAGE 166c4a6fce8SPasha Tatashin KSTACK_1K, 167c4a6fce8SPasha Tatashin #if THREAD_SIZE > 1024 168c4a6fce8SPasha Tatashin KSTACK_2K, 169c4a6fce8SPasha Tatashin #endif 170c4a6fce8SPasha Tatashin #if THREAD_SIZE > 2048 171c4a6fce8SPasha Tatashin KSTACK_4K, 172c4a6fce8SPasha Tatashin #endif 173c4a6fce8SPasha Tatashin #if THREAD_SIZE > 4096 174c4a6fce8SPasha Tatashin KSTACK_8K, 175c4a6fce8SPasha Tatashin #endif 176c4a6fce8SPasha Tatashin #if THREAD_SIZE > 8192 177c4a6fce8SPasha Tatashin KSTACK_16K, 178c4a6fce8SPasha Tatashin #endif 179c4a6fce8SPasha Tatashin #if THREAD_SIZE > 16384 180c4a6fce8SPasha Tatashin KSTACK_32K, 181c4a6fce8SPasha Tatashin #endif 182c4a6fce8SPasha Tatashin #if THREAD_SIZE > 32768 183c4a6fce8SPasha Tatashin KSTACK_64K, 184c4a6fce8SPasha Tatashin #endif 185c4a6fce8SPasha Tatashin #if THREAD_SIZE > 65536 186c4a6fce8SPasha Tatashin KSTACK_REST, 187f042e707SAndrew Morton #endif 188f042e707SAndrew Morton #endif /* CONFIG_DEBUG_STACK_USAGE */ 189f042e707SAndrew Morton NR_VM_EVENT_ITEMS 19095ecedcdSKirill A. Shutemov }; 19195ecedcdSKirill A. Shutemov 192dcdf11eeSDavid Rientjes #ifndef CONFIG_TRANSPARENT_HUGEPAGE 19385b9f46eSDavid Rientjes #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; }) 19495ecedcdSKirill A. Shutemov #define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; }) 19595ecedcdSKirill A. Shutemov #define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; }) 19695ecedcdSKirill A. Shutemov #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; }) 197f042e707SAndrew Morton #endif 198 199 #endif /* VM_EVENT_ITEM_H_INCLUDED */ 200