vm_event_item.h 3.4 KB

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