xref: /OK3568_Linux_fs/kernel/include/linux/vm_event_item.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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