xref: /linux/include/linux/vm_event_item.h (revision 4b49c0ba4eeb31b44462303cac4162476b72c831)
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,
44599d0c95SMel Gorman 		PGSCAN_KSWAPD,
45599d0c95SMel Gorman 		PGSCAN_DIRECT,
4657e9cc50SJohannes Weiner 		PGSCAN_KHUGEPAGED,
4768243e76SMel Gorman 		PGSCAN_DIRECT_THROTTLE,
48497a6c1bSJohannes Weiner 		PGSCAN_ANON,
49497a6c1bSJohannes Weiner 		PGSCAN_FILE,
50497a6c1bSJohannes Weiner 		PGSTEAL_ANON,
51497a6c1bSJohannes Weiner 		PGSTEAL_FILE,
52f042e707SAndrew Morton #ifdef CONFIG_NUMA
535fe690a5SMatthew Cassell 		PGSCAN_ZONE_RECLAIM_SUCCESS,
54f042e707SAndrew Morton 		PGSCAN_ZONE_RECLAIM_FAILED,
55f042e707SAndrew Morton #endif
56904249aaSYing Han 		PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
57f042e707SAndrew Morton 		KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
587cc30fcfSMel Gorman 		PAGEOUTRUN, PGROTATED,
595509a5d2SDave Hansen 		DROP_PAGECACHE, DROP_SLAB,
608e675f7aSKonstantin Khlebnikov 		OOM_KILL,
6103c5a6e1SMel Gorman #ifdef CONFIG_NUMA_BALANCING
6203c5a6e1SMel Gorman 		NUMA_PTE_UPDATES,
6372403b4aSMel Gorman 		NUMA_HUGE_PTE_UPDATES,
6403c5a6e1SMel Gorman 		NUMA_HINT_FAULTS,
6503c5a6e1SMel Gorman 		NUMA_HINT_FAULTS_LOCAL,
6603c5a6e1SMel Gorman 		NUMA_PAGE_MIGRATE,
6703c5a6e1SMel Gorman #endif
685647bc29SMel Gorman #ifdef CONFIG_MIGRATION
695647bc29SMel Gorman 		PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
701a5bae25SAnshuman Khandual 		THP_MIGRATION_SUCCESS,
711a5bae25SAnshuman Khandual 		THP_MIGRATION_FAIL,
721a5bae25SAnshuman Khandual 		THP_MIGRATION_SPLIT,
735647bc29SMel Gorman #endif
74f042e707SAndrew Morton #ifdef CONFIG_COMPACTION
75397487dbSMel Gorman 		COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
76397487dbSMel Gorman 		COMPACTISOLATED,
77f042e707SAndrew Morton 		COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
78698b1b30SVlastimil Babka 		KCOMPACTD_WAKE,
797f354a54SDavid Rientjes 		KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED,
80f042e707SAndrew Morton #endif
81f042e707SAndrew Morton #ifdef CONFIG_HUGETLB_PAGE
82f042e707SAndrew Morton 		HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
83f042e707SAndrew Morton #endif
84bbb26920SMinchan Kim #ifdef CONFIG_CMA
85bbb26920SMinchan Kim 		CMA_ALLOC_SUCCESS,
86bbb26920SMinchan Kim 		CMA_ALLOC_FAIL,
87bbb26920SMinchan Kim #endif
88f042e707SAndrew Morton 		UNEVICTABLE_PGCULLED,	/* culled to noreclaim list */
89f042e707SAndrew Morton 		UNEVICTABLE_PGSCANNED,	/* scanned for reclaimability */
90f042e707SAndrew Morton 		UNEVICTABLE_PGRESCUED,	/* rescued from noreclaim list */
91f042e707SAndrew Morton 		UNEVICTABLE_PGMLOCKED,
92f042e707SAndrew Morton 		UNEVICTABLE_PGMUNLOCKED,
93f042e707SAndrew Morton 		UNEVICTABLE_PGCLEARED,	/* on COW, page truncate */
94f042e707SAndrew Morton 		UNEVICTABLE_PGSTRANDED,	/* unable to isolate on unlock */
95f042e707SAndrew Morton #ifdef CONFIG_TRANSPARENT_HUGEPAGE
96f042e707SAndrew Morton 		THP_FAULT_ALLOC,
97f042e707SAndrew Morton 		THP_FAULT_FALLBACK,
9885b9f46eSDavid Rientjes 		THP_FAULT_FALLBACK_CHARGE,
99f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC,
100f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC_FAILED,
10195ecedcdSKirill A. Shutemov 		THP_FILE_ALLOC,
102dcdf11eeSDavid Rientjes 		THP_FILE_FALLBACK,
10385b9f46eSDavid Rientjes 		THP_FILE_FALLBACK_CHARGE,
10495ecedcdSKirill A. Shutemov 		THP_FILE_MAPPED,
105122afea9SKirill A. Shutemov 		THP_SPLIT_PAGE,
106122afea9SKirill A. Shutemov 		THP_SPLIT_PAGE_FAILED,
107f9719a03SKirill A. Shutemov 		THP_DEFERRED_SPLIT_PAGE,
108dafff3f4SUsama Arif 		THP_UNDERUSED_SPLIT_PAGE,
109122afea9SKirill A. Shutemov 		THP_SPLIT_PMD,
110e9ea874aSYang Yang 		THP_SCAN_EXCEED_NONE_PTE,
111e9ea874aSYang Yang 		THP_SCAN_EXCEED_SWAP_PTE,
112e9ea874aSYang Yang 		THP_SCAN_EXCEED_SHARED_PTE,
113ce9311cfSYisheng Xie #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
114ce9311cfSYisheng Xie 		THP_SPLIT_PUD,
115ce9311cfSYisheng Xie #endif
116d8a8e1f0SKirill A. Shutemov 		THP_ZERO_PAGE_ALLOC,
117d8a8e1f0SKirill A. Shutemov 		THP_ZERO_PAGE_ALLOC_FAILED,
118225311a4SHuang Ying 		THP_SWPOUT,
119fe490cc0SHuang Ying 		THP_SWPOUT_FALLBACK,
120f042e707SAndrew Morton #endif
12109316c09SKonstantin Khlebnikov #ifdef CONFIG_MEMORY_BALLOON
12209316c09SKonstantin Khlebnikov 		BALLOON_INFLATE,
12309316c09SKonstantin Khlebnikov 		BALLOON_DEFLATE,
12409316c09SKonstantin Khlebnikov #ifdef CONFIG_BALLOON_COMPACTION
12509316c09SKonstantin Khlebnikov 		BALLOON_MIGRATE,
12609316c09SKonstantin Khlebnikov #endif
12709316c09SKonstantin Khlebnikov #endif
128ec659934SMel Gorman #ifdef CONFIG_DEBUG_TLBFLUSH
1299824cf97SDave Hansen 		NR_TLB_REMOTE_FLUSH,	/* cpu tried to flush others' tlbs */
1309824cf97SDave Hansen 		NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */
1319824cf97SDave Hansen 		NR_TLB_LOCAL_FLUSH_ALL,
1329824cf97SDave Hansen 		NR_TLB_LOCAL_FLUSH_ONE,
133ec659934SMel Gorman #endif /* CONFIG_DEBUG_TLBFLUSH */
134cbc65df2SHuang Ying #ifdef CONFIG_SWAP
135cbc65df2SHuang Ying 		SWAP_RA,
136cbc65df2SHuang Ying 		SWAP_RA_HIT,
137*e7ac4daeSBarry Song 		SWPIN_ZERO,
138*e7ac4daeSBarry Song 		SWPOUT_ZERO,
1394d45c3afSYang Yang #ifdef CONFIG_KSM
1404d45c3afSYang Yang 		KSM_SWPIN_COPY,
1414d45c3afSYang Yang #endif
142cbc65df2SHuang Ying #endif
14394bfe85bSYang Yang #ifdef CONFIG_KSM
14494bfe85bSYang Yang 		COW_KSM,
14594bfe85bSYang Yang #endif
146f6498b77SJohannes Weiner #ifdef CONFIG_ZSWAP
147f6498b77SJohannes Weiner 		ZSWPIN,
148f6498b77SJohannes Weiner 		ZSWPOUT,
1497108cc3fSDomenico Cerasuolo 		ZSWPWB,
150f6498b77SJohannes Weiner #endif
151575299eaSSaravanan D #ifdef CONFIG_X86
152575299eaSSaravanan D 		DIRECT_MAP_LEVEL2_SPLIT,
153575299eaSSaravanan D 		DIRECT_MAP_LEVEL3_SPLIT,
154575299eaSSaravanan D #endif
15552f23865SSuren Baghdasaryan #ifdef CONFIG_PER_VMA_LOCK_STATS
15652f23865SSuren Baghdasaryan 		VMA_LOCK_SUCCESS,
15752f23865SSuren Baghdasaryan 		VMA_LOCK_ABORT,
15852f23865SSuren Baghdasaryan 		VMA_LOCK_RETRY,
15952f23865SSuren Baghdasaryan 		VMA_LOCK_MISS,
16052f23865SSuren Baghdasaryan #endif
161c4a6fce8SPasha Tatashin #ifdef CONFIG_DEBUG_STACK_USAGE
162c4a6fce8SPasha Tatashin 		KSTACK_1K,
163c4a6fce8SPasha Tatashin #if THREAD_SIZE > 1024
164c4a6fce8SPasha Tatashin 		KSTACK_2K,
165c4a6fce8SPasha Tatashin #endif
166c4a6fce8SPasha Tatashin #if THREAD_SIZE > 2048
167c4a6fce8SPasha Tatashin 		KSTACK_4K,
168c4a6fce8SPasha Tatashin #endif
169c4a6fce8SPasha Tatashin #if THREAD_SIZE > 4096
170c4a6fce8SPasha Tatashin 		KSTACK_8K,
171c4a6fce8SPasha Tatashin #endif
172c4a6fce8SPasha Tatashin #if THREAD_SIZE > 8192
173c4a6fce8SPasha Tatashin 		KSTACK_16K,
174c4a6fce8SPasha Tatashin #endif
175c4a6fce8SPasha Tatashin #if THREAD_SIZE > 16384
176c4a6fce8SPasha Tatashin 		KSTACK_32K,
177c4a6fce8SPasha Tatashin #endif
178c4a6fce8SPasha Tatashin #if THREAD_SIZE > 32768
179c4a6fce8SPasha Tatashin 		KSTACK_64K,
180c4a6fce8SPasha Tatashin #endif
181c4a6fce8SPasha Tatashin #if THREAD_SIZE > 65536
182c4a6fce8SPasha Tatashin 		KSTACK_REST,
183c4a6fce8SPasha Tatashin #endif
184c4a6fce8SPasha Tatashin #endif /* CONFIG_DEBUG_STACK_USAGE */
185f042e707SAndrew Morton 		NR_VM_EVENT_ITEMS
186f042e707SAndrew Morton };
187f042e707SAndrew Morton 
18895ecedcdSKirill A. Shutemov #ifndef CONFIG_TRANSPARENT_HUGEPAGE
18995ecedcdSKirill A. Shutemov #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
190dcdf11eeSDavid Rientjes #define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; })
19185b9f46eSDavid Rientjes #define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; })
19295ecedcdSKirill A. Shutemov #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
19395ecedcdSKirill A. Shutemov #endif
19495ecedcdSKirill A. Shutemov 
195f042e707SAndrew Morton #endif		/* VM_EVENT_ITEM_H_INCLUDED */
196