xref: /linux/include/linux/vm_event_item.h (revision 4d45c3aff5ebf80d329eba0f90544d20224f612d)
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 
23f7ae3a95Syalin wang #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, HIGHMEM_ZONE(xx) xx##_MOVABLE
24f042e707SAndrew Morton 
25f042e707SAndrew Morton enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
26f042e707SAndrew Morton 		FOR_ALL_ZONES(PGALLOC),
277cc30fcfSMel Gorman 		FOR_ALL_ZONES(ALLOCSTALL),
287cc30fcfSMel Gorman 		FOR_ALL_ZONES(PGSCAN_SKIP),
29f7ad2a6cSShaohua Li 		PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE,
30f042e707SAndrew Morton 		PGFAULT, PGMAJFAULT,
31854e9ed0SMinchan Kim 		PGLAZYFREED,
32599d0c95SMel Gorman 		PGREFILL,
33798a6b87SPeter Xu 		PGREUSE,
34599d0c95SMel Gorman 		PGSTEAL_KSWAPD,
35599d0c95SMel Gorman 		PGSTEAL_DIRECT,
36668e4147SYang Shi 		PGDEMOTE_KSWAPD,
37668e4147SYang Shi 		PGDEMOTE_DIRECT,
38599d0c95SMel Gorman 		PGSCAN_KSWAPD,
39599d0c95SMel Gorman 		PGSCAN_DIRECT,
4068243e76SMel Gorman 		PGSCAN_DIRECT_THROTTLE,
41497a6c1bSJohannes Weiner 		PGSCAN_ANON,
42497a6c1bSJohannes Weiner 		PGSCAN_FILE,
43497a6c1bSJohannes Weiner 		PGSTEAL_ANON,
44497a6c1bSJohannes Weiner 		PGSTEAL_FILE,
45f042e707SAndrew Morton #ifdef CONFIG_NUMA
46f042e707SAndrew Morton 		PGSCAN_ZONE_RECLAIM_FAILED,
47f042e707SAndrew Morton #endif
48904249aaSYing Han 		PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
49f042e707SAndrew Morton 		KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
507cc30fcfSMel Gorman 		PAGEOUTRUN, PGROTATED,
515509a5d2SDave Hansen 		DROP_PAGECACHE, DROP_SLAB,
528e675f7aSKonstantin Khlebnikov 		OOM_KILL,
5303c5a6e1SMel Gorman #ifdef CONFIG_NUMA_BALANCING
5403c5a6e1SMel Gorman 		NUMA_PTE_UPDATES,
5572403b4aSMel Gorman 		NUMA_HUGE_PTE_UPDATES,
5603c5a6e1SMel Gorman 		NUMA_HINT_FAULTS,
5703c5a6e1SMel Gorman 		NUMA_HINT_FAULTS_LOCAL,
5803c5a6e1SMel Gorman 		NUMA_PAGE_MIGRATE,
5903c5a6e1SMel Gorman #endif
605647bc29SMel Gorman #ifdef CONFIG_MIGRATION
615647bc29SMel Gorman 		PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
621a5bae25SAnshuman Khandual 		THP_MIGRATION_SUCCESS,
631a5bae25SAnshuman Khandual 		THP_MIGRATION_FAIL,
641a5bae25SAnshuman Khandual 		THP_MIGRATION_SPLIT,
655647bc29SMel Gorman #endif
66f042e707SAndrew Morton #ifdef CONFIG_COMPACTION
67397487dbSMel Gorman 		COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
68397487dbSMel Gorman 		COMPACTISOLATED,
69f042e707SAndrew Morton 		COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
70698b1b30SVlastimil Babka 		KCOMPACTD_WAKE,
717f354a54SDavid Rientjes 		KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED,
72f042e707SAndrew Morton #endif
73f042e707SAndrew Morton #ifdef CONFIG_HUGETLB_PAGE
74f042e707SAndrew Morton 		HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
75f042e707SAndrew Morton #endif
76bbb26920SMinchan Kim #ifdef CONFIG_CMA
77bbb26920SMinchan Kim 		CMA_ALLOC_SUCCESS,
78bbb26920SMinchan Kim 		CMA_ALLOC_FAIL,
79bbb26920SMinchan Kim #endif
80f042e707SAndrew Morton 		UNEVICTABLE_PGCULLED,	/* culled to noreclaim list */
81f042e707SAndrew Morton 		UNEVICTABLE_PGSCANNED,	/* scanned for reclaimability */
82f042e707SAndrew Morton 		UNEVICTABLE_PGRESCUED,	/* rescued from noreclaim list */
83f042e707SAndrew Morton 		UNEVICTABLE_PGMLOCKED,
84f042e707SAndrew Morton 		UNEVICTABLE_PGMUNLOCKED,
85f042e707SAndrew Morton 		UNEVICTABLE_PGCLEARED,	/* on COW, page truncate */
86f042e707SAndrew Morton 		UNEVICTABLE_PGSTRANDED,	/* unable to isolate on unlock */
87f042e707SAndrew Morton #ifdef CONFIG_TRANSPARENT_HUGEPAGE
88f042e707SAndrew Morton 		THP_FAULT_ALLOC,
89f042e707SAndrew Morton 		THP_FAULT_FALLBACK,
9085b9f46eSDavid Rientjes 		THP_FAULT_FALLBACK_CHARGE,
91f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC,
92f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC_FAILED,
9395ecedcdSKirill A. Shutemov 		THP_FILE_ALLOC,
94dcdf11eeSDavid Rientjes 		THP_FILE_FALLBACK,
9585b9f46eSDavid Rientjes 		THP_FILE_FALLBACK_CHARGE,
9695ecedcdSKirill A. Shutemov 		THP_FILE_MAPPED,
97122afea9SKirill A. Shutemov 		THP_SPLIT_PAGE,
98122afea9SKirill A. Shutemov 		THP_SPLIT_PAGE_FAILED,
99f9719a03SKirill A. Shutemov 		THP_DEFERRED_SPLIT_PAGE,
100122afea9SKirill A. Shutemov 		THP_SPLIT_PMD,
101e9ea874aSYang Yang 		THP_SCAN_EXCEED_NONE_PTE,
102e9ea874aSYang Yang 		THP_SCAN_EXCEED_SWAP_PTE,
103e9ea874aSYang Yang 		THP_SCAN_EXCEED_SHARED_PTE,
104ce9311cfSYisheng Xie #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
105ce9311cfSYisheng Xie 		THP_SPLIT_PUD,
106ce9311cfSYisheng Xie #endif
107d8a8e1f0SKirill A. Shutemov 		THP_ZERO_PAGE_ALLOC,
108d8a8e1f0SKirill A. Shutemov 		THP_ZERO_PAGE_ALLOC_FAILED,
109225311a4SHuang Ying 		THP_SWPOUT,
110fe490cc0SHuang Ying 		THP_SWPOUT_FALLBACK,
111f042e707SAndrew Morton #endif
11209316c09SKonstantin Khlebnikov #ifdef CONFIG_MEMORY_BALLOON
11309316c09SKonstantin Khlebnikov 		BALLOON_INFLATE,
11409316c09SKonstantin Khlebnikov 		BALLOON_DEFLATE,
11509316c09SKonstantin Khlebnikov #ifdef CONFIG_BALLOON_COMPACTION
11609316c09SKonstantin Khlebnikov 		BALLOON_MIGRATE,
11709316c09SKonstantin Khlebnikov #endif
11809316c09SKonstantin Khlebnikov #endif
119ec659934SMel Gorman #ifdef CONFIG_DEBUG_TLBFLUSH
1209824cf97SDave Hansen 		NR_TLB_REMOTE_FLUSH,	/* cpu tried to flush others' tlbs */
1219824cf97SDave Hansen 		NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */
1229824cf97SDave Hansen 		NR_TLB_LOCAL_FLUSH_ALL,
1239824cf97SDave Hansen 		NR_TLB_LOCAL_FLUSH_ONE,
124ec659934SMel Gorman #endif /* CONFIG_DEBUG_TLBFLUSH */
1254f115147SDavidlohr Bueso #ifdef CONFIG_DEBUG_VM_VMACACHE
1264f115147SDavidlohr Bueso 		VMACACHE_FIND_CALLS,
1274f115147SDavidlohr Bueso 		VMACACHE_FIND_HITS,
1284f115147SDavidlohr Bueso #endif
129cbc65df2SHuang Ying #ifdef CONFIG_SWAP
130cbc65df2SHuang Ying 		SWAP_RA,
131cbc65df2SHuang Ying 		SWAP_RA_HIT,
132*4d45c3afSYang Yang #ifdef CONFIG_KSM
133*4d45c3afSYang Yang 		KSM_SWPIN_COPY,
134*4d45c3afSYang Yang #endif
135cbc65df2SHuang Ying #endif
136575299eaSSaravanan D #ifdef CONFIG_X86
137575299eaSSaravanan D 		DIRECT_MAP_LEVEL2_SPLIT,
138575299eaSSaravanan D 		DIRECT_MAP_LEVEL3_SPLIT,
139575299eaSSaravanan D #endif
140f042e707SAndrew Morton 		NR_VM_EVENT_ITEMS
141f042e707SAndrew Morton };
142f042e707SAndrew Morton 
14395ecedcdSKirill A. Shutemov #ifndef CONFIG_TRANSPARENT_HUGEPAGE
14495ecedcdSKirill A. Shutemov #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
145dcdf11eeSDavid Rientjes #define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; })
14685b9f46eSDavid Rientjes #define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; })
14795ecedcdSKirill A. Shutemov #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
14895ecedcdSKirill A. Shutemov #endif
14995ecedcdSKirill A. Shutemov 
150f042e707SAndrew Morton #endif		/* VM_EVENT_ITEM_H_INCLUDED */
151