xref: /linux/include/linux/vm_event_item.h (revision 397487db696cae0b026a474a5cd66f4e372995e6)
1f042e707SAndrew Morton #ifndef VM_EVENT_ITEM_H_INCLUDED
2f042e707SAndrew Morton #define VM_EVENT_ITEM_H_INCLUDED
3f042e707SAndrew Morton 
4f042e707SAndrew Morton #ifdef CONFIG_ZONE_DMA
5f042e707SAndrew Morton #define DMA_ZONE(xx) xx##_DMA,
6f042e707SAndrew Morton #else
7f042e707SAndrew Morton #define DMA_ZONE(xx)
8f042e707SAndrew Morton #endif
9f042e707SAndrew Morton 
10f042e707SAndrew Morton #ifdef CONFIG_ZONE_DMA32
11f042e707SAndrew Morton #define DMA32_ZONE(xx) xx##_DMA32,
12f042e707SAndrew Morton #else
13f042e707SAndrew Morton #define DMA32_ZONE(xx)
14f042e707SAndrew Morton #endif
15f042e707SAndrew Morton 
16f042e707SAndrew Morton #ifdef CONFIG_HIGHMEM
17f042e707SAndrew Morton #define HIGHMEM_ZONE(xx) , xx##_HIGH
18f042e707SAndrew Morton #else
19f042e707SAndrew Morton #define HIGHMEM_ZONE(xx)
20f042e707SAndrew Morton #endif
21f042e707SAndrew Morton 
22f042e707SAndrew Morton #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE
23f042e707SAndrew Morton 
24f042e707SAndrew Morton enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
25f042e707SAndrew Morton 		FOR_ALL_ZONES(PGALLOC),
26f042e707SAndrew Morton 		PGFREE, PGACTIVATE, PGDEACTIVATE,
27f042e707SAndrew Morton 		PGFAULT, PGMAJFAULT,
28f042e707SAndrew Morton 		FOR_ALL_ZONES(PGREFILL),
29904249aaSYing Han 		FOR_ALL_ZONES(PGSTEAL_KSWAPD),
30904249aaSYing Han 		FOR_ALL_ZONES(PGSTEAL_DIRECT),
31f042e707SAndrew Morton 		FOR_ALL_ZONES(PGSCAN_KSWAPD),
32f042e707SAndrew Morton 		FOR_ALL_ZONES(PGSCAN_DIRECT),
3368243e76SMel Gorman 		PGSCAN_DIRECT_THROTTLE,
34f042e707SAndrew Morton #ifdef CONFIG_NUMA
35f042e707SAndrew Morton 		PGSCAN_ZONE_RECLAIM_FAILED,
36f042e707SAndrew Morton #endif
37904249aaSYing Han 		PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
38f042e707SAndrew Morton 		KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
39f042e707SAndrew Morton 		KSWAPD_SKIP_CONGESTION_WAIT,
40f042e707SAndrew Morton 		PAGEOUTRUN, ALLOCSTALL, PGROTATED,
415647bc29SMel Gorman #ifdef CONFIG_MIGRATION
425647bc29SMel Gorman 		PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
435647bc29SMel Gorman #endif
44f042e707SAndrew Morton #ifdef CONFIG_COMPACTION
45*397487dbSMel Gorman 		COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
46*397487dbSMel Gorman 		COMPACTISOLATED,
47f042e707SAndrew Morton 		COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
48f042e707SAndrew Morton #endif
49f042e707SAndrew Morton #ifdef CONFIG_HUGETLB_PAGE
50f042e707SAndrew Morton 		HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
51f042e707SAndrew Morton #endif
52f042e707SAndrew Morton 		UNEVICTABLE_PGCULLED,	/* culled to noreclaim list */
53f042e707SAndrew Morton 		UNEVICTABLE_PGSCANNED,	/* scanned for reclaimability */
54f042e707SAndrew Morton 		UNEVICTABLE_PGRESCUED,	/* rescued from noreclaim list */
55f042e707SAndrew Morton 		UNEVICTABLE_PGMLOCKED,
56f042e707SAndrew Morton 		UNEVICTABLE_PGMUNLOCKED,
57f042e707SAndrew Morton 		UNEVICTABLE_PGCLEARED,	/* on COW, page truncate */
58f042e707SAndrew Morton 		UNEVICTABLE_PGSTRANDED,	/* unable to isolate on unlock */
59f042e707SAndrew Morton #ifdef CONFIG_TRANSPARENT_HUGEPAGE
60f042e707SAndrew Morton 		THP_FAULT_ALLOC,
61f042e707SAndrew Morton 		THP_FAULT_FALLBACK,
62f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC,
63f042e707SAndrew Morton 		THP_COLLAPSE_ALLOC_FAILED,
64f042e707SAndrew Morton 		THP_SPLIT,
65f042e707SAndrew Morton #endif
66f042e707SAndrew Morton 		NR_VM_EVENT_ITEMS
67f042e707SAndrew Morton };
68f042e707SAndrew Morton 
69f042e707SAndrew Morton #endif		/* VM_EVENT_ITEM_H_INCLUDED */
70