vm_event_item.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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. PGSTEAL_KSWAPD,
  29. PGSTEAL_DIRECT,
  30. PGSCAN_KSWAPD,
  31. PGSCAN_DIRECT,
  32. PGSCAN_DIRECT_THROTTLE,
  33. #ifdef CONFIG_NUMA
  34. PGSCAN_ZONE_RECLAIM_FAILED,
  35. #endif
  36. PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
  37. KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
  38. PAGEOUTRUN, PGROTATED,
  39. DROP_PAGECACHE, DROP_SLAB,
  40. OOM_KILL,
  41. #ifdef CONFIG_NUMA_BALANCING
  42. NUMA_PTE_UPDATES,
  43. NUMA_HUGE_PTE_UPDATES,
  44. NUMA_HINT_FAULTS,
  45. NUMA_HINT_FAULTS_LOCAL,
  46. NUMA_PAGE_MIGRATE,
  47. #endif
  48. #ifdef CONFIG_MIGRATION
  49. PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
  50. #endif
  51. #ifdef CONFIG_COMPACTION
  52. COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
  53. COMPACTISOLATED,
  54. COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
  55. KCOMPACTD_WAKE,
  56. KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED,
  57. #endif
  58. #ifdef CONFIG_HUGETLB_PAGE
  59. HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
  60. #endif
  61. UNEVICTABLE_PGCULLED, /* culled to noreclaim list */
  62. UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */
  63. UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */
  64. UNEVICTABLE_PGMLOCKED,
  65. UNEVICTABLE_PGMUNLOCKED,
  66. UNEVICTABLE_PGCLEARED, /* on COW, page truncate */
  67. UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */
  68. #ifdef CONFIG_TRANSPARENT_HUGEPAGE
  69. THP_FAULT_ALLOC,
  70. THP_FAULT_FALLBACK,
  71. THP_COLLAPSE_ALLOC,
  72. THP_COLLAPSE_ALLOC_FAILED,
  73. THP_FILE_ALLOC,
  74. THP_FILE_MAPPED,
  75. THP_SPLIT_PAGE,
  76. THP_SPLIT_PAGE_FAILED,
  77. THP_DEFERRED_SPLIT_PAGE,
  78. THP_SPLIT_PMD,
  79. #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
  80. THP_SPLIT_PUD,
  81. #endif
  82. THP_ZERO_PAGE_ALLOC,
  83. THP_ZERO_PAGE_ALLOC_FAILED,
  84. THP_SWPOUT,
  85. THP_SWPOUT_FALLBACK,
  86. #endif
  87. #ifdef CONFIG_MEMORY_BALLOON
  88. BALLOON_INFLATE,
  89. BALLOON_DEFLATE,
  90. #ifdef CONFIG_BALLOON_COMPACTION
  91. BALLOON_MIGRATE,
  92. #endif
  93. #endif
  94. #ifdef CONFIG_DEBUG_TLBFLUSH
  95. NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */
  96. NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */
  97. NR_TLB_LOCAL_FLUSH_ALL,
  98. NR_TLB_LOCAL_FLUSH_ONE,
  99. #endif /* CONFIG_DEBUG_TLBFLUSH */
  100. #ifdef CONFIG_DEBUG_VM_VMACACHE
  101. VMACACHE_FIND_CALLS,
  102. VMACACHE_FIND_HITS,
  103. #endif
  104. #ifdef CONFIG_SWAP
  105. SWAP_RA,
  106. SWAP_RA_HIT,
  107. #endif
  108. NR_VM_EVENT_ITEMS
  109. };
  110. #ifndef CONFIG_TRANSPARENT_HUGEPAGE
  111. #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
  112. #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
  113. #endif
  114. #endif /* VM_EVENT_ITEM_H_INCLUDED */