hc
2024-03-22 f63cd4c03ea42695d5f9b0e1798edd196923aae6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef VM_EVENT_ITEM_H_INCLUDED
#define VM_EVENT_ITEM_H_INCLUDED
 
#ifdef CONFIG_ZONE_DMA
#define DMA_ZONE(xx) xx##_DMA,
#else
#define DMA_ZONE(xx)
#endif
 
#ifdef CONFIG_ZONE_DMA32
#define DMA32_ZONE(xx) xx##_DMA32,
#else
#define DMA32_ZONE(xx)
#endif
 
#ifdef CONFIG_HIGHMEM
#define HIGHMEM_ZONE(xx) xx##_HIGH,
#else
#define HIGHMEM_ZONE(xx)
#endif
 
#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, HIGHMEM_ZONE(xx) xx##_MOVABLE
 
enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
       FOR_ALL_ZONES(PGALLOC),
       FOR_ALL_ZONES(ALLOCSTALL),
       FOR_ALL_ZONES(PGSCAN_SKIP),
       PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE,
       PGFAULT, PGMAJFAULT,
       PGLAZYFREED,
       PGREFILL,
       PGREUSE,
       PGSTEAL_KSWAPD,
       PGSTEAL_DIRECT,
       PGSCAN_KSWAPD,
       PGSCAN_DIRECT,
       PGSCAN_DIRECT_THROTTLE,
       PGSCAN_ANON,
       PGSCAN_FILE,
       PGSTEAL_ANON,
       PGSTEAL_FILE,
#ifdef CONFIG_NUMA
       PGSCAN_ZONE_RECLAIM_FAILED,
#endif
       PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
       KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
       PAGEOUTRUN, PGROTATED,
       DROP_PAGECACHE, DROP_SLAB,
       OOM_KILL,
#ifdef CONFIG_NUMA_BALANCING
       NUMA_PTE_UPDATES,
       NUMA_HUGE_PTE_UPDATES,
       NUMA_HINT_FAULTS,
       NUMA_HINT_FAULTS_LOCAL,
       NUMA_PAGE_MIGRATE,
#endif
#ifdef CONFIG_MIGRATION
       PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
       THP_MIGRATION_SUCCESS,
       THP_MIGRATION_FAIL,
       THP_MIGRATION_SPLIT,
#endif
#ifdef CONFIG_COMPACTION
       COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
       COMPACTISOLATED,
       COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
       KCOMPACTD_WAKE,
       KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED,
#endif
#ifdef CONFIG_HUGETLB_PAGE
       HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
#endif
#ifdef CONFIG_CMA
       CMA_ALLOC_SUCCESS,
       CMA_ALLOC_FAIL,
#endif
       UNEVICTABLE_PGCULLED,    /* culled to noreclaim list */
       UNEVICTABLE_PGSCANNED,    /* scanned for reclaimability */
       UNEVICTABLE_PGRESCUED,    /* rescued from noreclaim list */
       UNEVICTABLE_PGMLOCKED,
       UNEVICTABLE_PGMUNLOCKED,
       UNEVICTABLE_PGCLEARED,    /* on COW, page truncate */
       UNEVICTABLE_PGSTRANDED,    /* unable to isolate on unlock */
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
       THP_FAULT_ALLOC,
       THP_FAULT_FALLBACK,
       THP_FAULT_FALLBACK_CHARGE,
       THP_COLLAPSE_ALLOC,
       THP_COLLAPSE_ALLOC_FAILED,
       THP_FILE_ALLOC,
       THP_FILE_FALLBACK,
       THP_FILE_FALLBACK_CHARGE,
       THP_FILE_MAPPED,
       THP_SPLIT_PAGE,
       THP_SPLIT_PAGE_FAILED,
       THP_DEFERRED_SPLIT_PAGE,
       THP_SPLIT_PMD,
#ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
       THP_SPLIT_PUD,
#endif
       THP_ZERO_PAGE_ALLOC,
       THP_ZERO_PAGE_ALLOC_FAILED,
       THP_SWPOUT,
       THP_SWPOUT_FALLBACK,
#endif
#ifdef CONFIG_MEMORY_BALLOON
       BALLOON_INFLATE,
       BALLOON_DEFLATE,
#ifdef CONFIG_BALLOON_COMPACTION
       BALLOON_MIGRATE,
#endif
#endif
#ifdef CONFIG_DEBUG_TLBFLUSH
       NR_TLB_REMOTE_FLUSH,    /* cpu tried to flush others' tlbs */
       NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */
       NR_TLB_LOCAL_FLUSH_ALL,
       NR_TLB_LOCAL_FLUSH_ONE,
#endif /* CONFIG_DEBUG_TLBFLUSH */
#ifdef CONFIG_DEBUG_VM_VMACACHE
       VMACACHE_FIND_CALLS,
       VMACACHE_FIND_HITS,
#endif
#ifdef CONFIG_SWAP
       SWAP_RA,
       SWAP_RA_HIT,
#endif
#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
       SPECULATIVE_PGFAULT_ANON,
       SPECULATIVE_PGFAULT_FILE,
#endif
       NR_VM_EVENT_ITEMS
};
 
#ifndef CONFIG_TRANSPARENT_HUGEPAGE
#define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
#define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; })
#define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; })
#define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
#endif
 
#endif        /* VM_EVENT_ITEM_H_INCLUDED */