0001
0002 #ifndef VM_EVENT_ITEM_H_INCLUDED
0003 #define VM_EVENT_ITEM_H_INCLUDED
0004
0005 #ifdef CONFIG_ZONE_DMA
0006 #define DMA_ZONE(xx) xx##_DMA,
0007 #else
0008 #define DMA_ZONE(xx)
0009 #endif
0010
0011 #ifdef CONFIG_ZONE_DMA32
0012 #define DMA32_ZONE(xx) xx##_DMA32,
0013 #else
0014 #define DMA32_ZONE(xx)
0015 #endif
0016
0017 #ifdef CONFIG_HIGHMEM
0018 #define HIGHMEM_ZONE(xx) xx##_HIGH,
0019 #else
0020 #define HIGHMEM_ZONE(xx)
0021 #endif
0022
0023 #ifdef CONFIG_ZONE_DEVICE
0024 #define DEVICE_ZONE(xx) xx##_DEVICE,
0025 #else
0026 #define DEVICE_ZONE(xx)
0027 #endif
0028
0029 #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, \
0030 HIGHMEM_ZONE(xx) xx##_MOVABLE, DEVICE_ZONE(xx)
0031
0032 enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
0033 FOR_ALL_ZONES(PGALLOC)
0034 FOR_ALL_ZONES(ALLOCSTALL)
0035 FOR_ALL_ZONES(PGSCAN_SKIP)
0036 PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE,
0037 PGFAULT, PGMAJFAULT,
0038 PGLAZYFREED,
0039 PGREFILL,
0040 PGREUSE,
0041 PGSTEAL_KSWAPD,
0042 PGSTEAL_DIRECT,
0043 PGDEMOTE_KSWAPD,
0044 PGDEMOTE_DIRECT,
0045 PGSCAN_KSWAPD,
0046 PGSCAN_DIRECT,
0047 PGSCAN_DIRECT_THROTTLE,
0048 PGSCAN_ANON,
0049 PGSCAN_FILE,
0050 PGSTEAL_ANON,
0051 PGSTEAL_FILE,
0052 #ifdef CONFIG_NUMA
0053 PGSCAN_ZONE_RECLAIM_FAILED,
0054 #endif
0055 PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
0056 KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
0057 PAGEOUTRUN, PGROTATED,
0058 DROP_PAGECACHE, DROP_SLAB,
0059 OOM_KILL,
0060 #ifdef CONFIG_NUMA_BALANCING
0061 NUMA_PTE_UPDATES,
0062 NUMA_HUGE_PTE_UPDATES,
0063 NUMA_HINT_FAULTS,
0064 NUMA_HINT_FAULTS_LOCAL,
0065 NUMA_PAGE_MIGRATE,
0066 #endif
0067 #ifdef CONFIG_MIGRATION
0068 PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
0069 THP_MIGRATION_SUCCESS,
0070 THP_MIGRATION_FAIL,
0071 THP_MIGRATION_SPLIT,
0072 #endif
0073 #ifdef CONFIG_COMPACTION
0074 COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
0075 COMPACTISOLATED,
0076 COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
0077 KCOMPACTD_WAKE,
0078 KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED,
0079 #endif
0080 #ifdef CONFIG_HUGETLB_PAGE
0081 HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
0082 #endif
0083 #ifdef CONFIG_CMA
0084 CMA_ALLOC_SUCCESS,
0085 CMA_ALLOC_FAIL,
0086 #endif
0087 UNEVICTABLE_PGCULLED,
0088 UNEVICTABLE_PGSCANNED,
0089 UNEVICTABLE_PGRESCUED,
0090 UNEVICTABLE_PGMLOCKED,
0091 UNEVICTABLE_PGMUNLOCKED,
0092 UNEVICTABLE_PGCLEARED,
0093 UNEVICTABLE_PGSTRANDED,
0094 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
0095 THP_FAULT_ALLOC,
0096 THP_FAULT_FALLBACK,
0097 THP_FAULT_FALLBACK_CHARGE,
0098 THP_COLLAPSE_ALLOC,
0099 THP_COLLAPSE_ALLOC_FAILED,
0100 THP_FILE_ALLOC,
0101 THP_FILE_FALLBACK,
0102 THP_FILE_FALLBACK_CHARGE,
0103 THP_FILE_MAPPED,
0104 THP_SPLIT_PAGE,
0105 THP_SPLIT_PAGE_FAILED,
0106 THP_DEFERRED_SPLIT_PAGE,
0107 THP_SPLIT_PMD,
0108 THP_SCAN_EXCEED_NONE_PTE,
0109 THP_SCAN_EXCEED_SWAP_PTE,
0110 THP_SCAN_EXCEED_SHARED_PTE,
0111 #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
0112 THP_SPLIT_PUD,
0113 #endif
0114 THP_ZERO_PAGE_ALLOC,
0115 THP_ZERO_PAGE_ALLOC_FAILED,
0116 THP_SWPOUT,
0117 THP_SWPOUT_FALLBACK,
0118 #endif
0119 #ifdef CONFIG_MEMORY_BALLOON
0120 BALLOON_INFLATE,
0121 BALLOON_DEFLATE,
0122 #ifdef CONFIG_BALLOON_COMPACTION
0123 BALLOON_MIGRATE,
0124 #endif
0125 #endif
0126 #ifdef CONFIG_DEBUG_TLBFLUSH
0127 NR_TLB_REMOTE_FLUSH,
0128 NR_TLB_REMOTE_FLUSH_RECEIVED,
0129 NR_TLB_LOCAL_FLUSH_ALL,
0130 NR_TLB_LOCAL_FLUSH_ONE,
0131 #endif
0132 #ifdef CONFIG_DEBUG_VM_VMACACHE
0133 VMACACHE_FIND_CALLS,
0134 VMACACHE_FIND_HITS,
0135 #endif
0136 #ifdef CONFIG_SWAP
0137 SWAP_RA,
0138 SWAP_RA_HIT,
0139 #ifdef CONFIG_KSM
0140 KSM_SWPIN_COPY,
0141 #endif
0142 #endif
0143 #ifdef CONFIG_KSM
0144 COW_KSM,
0145 #endif
0146 #ifdef CONFIG_ZSWAP
0147 ZSWPIN,
0148 ZSWPOUT,
0149 #endif
0150 #ifdef CONFIG_X86
0151 DIRECT_MAP_LEVEL2_SPLIT,
0152 DIRECT_MAP_LEVEL3_SPLIT,
0153 #endif
0154 NR_VM_EVENT_ITEMS
0155 };
0156
0157 #ifndef CONFIG_TRANSPARENT_HUGEPAGE
0158 #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
0159 #define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; })
0160 #define THP_FILE_FALLBACK_CHARGE ({ BUILD_BUG(); 0; })
0161 #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
0162 #endif
0163
0164 #endif