xref: /linux-6.15/include/linux/vm_event_item.h (revision f042e707)
1*f042e707SAndrew Morton #ifndef VM_EVENT_ITEM_H_INCLUDED
2*f042e707SAndrew Morton #define VM_EVENT_ITEM_H_INCLUDED
3*f042e707SAndrew Morton 
4*f042e707SAndrew Morton #ifdef CONFIG_ZONE_DMA
5*f042e707SAndrew Morton #define DMA_ZONE(xx) xx##_DMA,
6*f042e707SAndrew Morton #else
7*f042e707SAndrew Morton #define DMA_ZONE(xx)
8*f042e707SAndrew Morton #endif
9*f042e707SAndrew Morton 
10*f042e707SAndrew Morton #ifdef CONFIG_ZONE_DMA32
11*f042e707SAndrew Morton #define DMA32_ZONE(xx) xx##_DMA32,
12*f042e707SAndrew Morton #else
13*f042e707SAndrew Morton #define DMA32_ZONE(xx)
14*f042e707SAndrew Morton #endif
15*f042e707SAndrew Morton 
16*f042e707SAndrew Morton #ifdef CONFIG_HIGHMEM
17*f042e707SAndrew Morton #define HIGHMEM_ZONE(xx) , xx##_HIGH
18*f042e707SAndrew Morton #else
19*f042e707SAndrew Morton #define HIGHMEM_ZONE(xx)
20*f042e707SAndrew Morton #endif
21*f042e707SAndrew Morton 
22*f042e707SAndrew Morton #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE
23*f042e707SAndrew Morton 
24*f042e707SAndrew Morton enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
25*f042e707SAndrew Morton 		FOR_ALL_ZONES(PGALLOC),
26*f042e707SAndrew Morton 		PGFREE, PGACTIVATE, PGDEACTIVATE,
27*f042e707SAndrew Morton 		PGFAULT, PGMAJFAULT,
28*f042e707SAndrew Morton 		FOR_ALL_ZONES(PGREFILL),
29*f042e707SAndrew Morton 		FOR_ALL_ZONES(PGSTEAL),
30*f042e707SAndrew Morton 		FOR_ALL_ZONES(PGSCAN_KSWAPD),
31*f042e707SAndrew Morton 		FOR_ALL_ZONES(PGSCAN_DIRECT),
32*f042e707SAndrew Morton #ifdef CONFIG_NUMA
33*f042e707SAndrew Morton 		PGSCAN_ZONE_RECLAIM_FAILED,
34*f042e707SAndrew Morton #endif
35*f042e707SAndrew Morton 		PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL,
36*f042e707SAndrew Morton 		KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
37*f042e707SAndrew Morton 		KSWAPD_SKIP_CONGESTION_WAIT,
38*f042e707SAndrew Morton 		PAGEOUTRUN, ALLOCSTALL, PGROTATED,
39*f042e707SAndrew Morton #ifdef CONFIG_COMPACTION
40*f042e707SAndrew Morton 		COMPACTBLOCKS, COMPACTPAGES, COMPACTPAGEFAILED,
41*f042e707SAndrew Morton 		COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
42*f042e707SAndrew Morton #endif
43*f042e707SAndrew Morton #ifdef CONFIG_HUGETLB_PAGE
44*f042e707SAndrew Morton 		HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
45*f042e707SAndrew Morton #endif
46*f042e707SAndrew Morton 		UNEVICTABLE_PGCULLED,	/* culled to noreclaim list */
47*f042e707SAndrew Morton 		UNEVICTABLE_PGSCANNED,	/* scanned for reclaimability */
48*f042e707SAndrew Morton 		UNEVICTABLE_PGRESCUED,	/* rescued from noreclaim list */
49*f042e707SAndrew Morton 		UNEVICTABLE_PGMLOCKED,
50*f042e707SAndrew Morton 		UNEVICTABLE_PGMUNLOCKED,
51*f042e707SAndrew Morton 		UNEVICTABLE_PGCLEARED,	/* on COW, page truncate */
52*f042e707SAndrew Morton 		UNEVICTABLE_PGSTRANDED,	/* unable to isolate on unlock */
53*f042e707SAndrew Morton 		UNEVICTABLE_MLOCKFREED,
54*f042e707SAndrew Morton #ifdef CONFIG_TRANSPARENT_HUGEPAGE
55*f042e707SAndrew Morton 		THP_FAULT_ALLOC,
56*f042e707SAndrew Morton 		THP_FAULT_FALLBACK,
57*f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC,
58*f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC_FAILED,
59*f042e707SAndrew Morton 		THP_SPLIT,
60*f042e707SAndrew Morton #endif
61*f042e707SAndrew Morton 		NR_VM_EVENT_ITEMS
62*f042e707SAndrew Morton };
63*f042e707SAndrew Morton 
64*f042e707SAndrew Morton #endif		/* VM_EVENT_ITEM_H_INCLUDED */
65