vm_event_item.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #ifndef VM_EVENT_ITEM_H_INCLUDED
  2. #define VM_EVENT_ITEM_H_INCLUDED
  3. #ifdef CONFIG_ZONE_DMA
  4. #define DMA_ZONE(xx) xx##_DMA,
  5. #else
  6. #define DMA_ZONE(xx)
  7. #endif
  8. #ifdef CONFIG_ZONE_DMA32
  9. #define DMA32_ZONE(xx) xx##_DMA32,
  10. #else
  11. #define DMA32_ZONE(xx)
  12. #endif
  13. #ifdef CONFIG_HIGHMEM
  14. #define HIGHMEM_ZONE(xx) xx##_HIGH,
  15. #else
  16. #define HIGHMEM_ZONE(xx)
  17. #endif
  18. #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL, HIGHMEM_ZONE(xx) xx##_MOVABLE
  19. enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
  20. FOR_ALL_ZONES(PGALLOC),
  21. FOR_ALL_ZONES(ALLOCSTALL),
  22. FOR_ALL_ZONES(PGSCAN_SKIP),
  23. PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE,
  24. PGFAULT, PGMAJFAULT,
  25. PGLAZYFREED,
  26. PGREFILL,
  27. PGSTEAL_KSWAPD,
  28. PGSTEAL_DIRECT,
  29. PGSCAN_KSWAPD,
  30. PGSCAN_DIRECT,
  31. PGSCAN_DIRECT_THROTTLE,
  32. #ifdef CONFIG_NUMA
  33. PGSCAN_ZONE_RECLAIM_FAILED,
  34. #endif
  35. PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
  36. KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
  37. PAGEOUTRUN, PGROTATED,
  38. DROP_PAGECACHE, DROP_SLAB,
  39. OOM_KILL,
  40. #ifdef CONFIG_NUMA_BALANCING
  41. NUMA_PTE_UPDATES,
  42. NUMA_HUGE_PTE_UPDATES,
  43. NUMA_HINT_FAULTS,
  44. NUMA_HINT_FAULTS_LOCAL,
  45. NUMA_PAGE_MIGRATE,
  46. #endif
  47. #ifdef CONFIG_MIGRATION
  48. PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
  49. #endif
  50. #ifdef CONFIG_COMPACTION
  51. COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
  52. COMPACTISOLATED,
  53. COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
  54. KCOMPACTD_WAKE,
  55. KCOMPACTD_MIGRATE_SCANNED, KCOMPACTD_FREE_SCANNED,
  56. #endif
  57. #ifdef CONFIG_HUGETLB_PAGE
  58. HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
  59. #endif
  60. UNEVICTABLE_PGCULLED, /* culled to noreclaim list */
  61. UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */
  62. UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */
  63. UNEVICTABLE_PGMLOCKED,
  64. UNEVICTABLE_PGMUNLOCKED,
  65. UNEVICTABLE_PGCLEARED, /* on COW, page truncate */
  66. UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */
  67. #ifdef CONFIG_TRANSPARENT_HUGEPAGE
  68. THP_FAULT_ALLOC,
  69. THP_FAULT_FALLBACK,
  70. THP_COLLAPSE_ALLOC,
  71. THP_COLLAPSE_ALLOC_FAILED,
  72. THP_FILE_ALLOC,
  73. THP_FILE_MAPPED,
  74. THP_SPLIT_PAGE,
  75. THP_SPLIT_PAGE_FAILED,
  76. THP_DEFERRED_SPLIT_PAGE,
  77. THP_SPLIT_PMD,
  78. #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
  79. THP_SPLIT_PUD,
  80. #endif
  81. THP_ZERO_PAGE_ALLOC,
  82. THP_ZERO_PAGE_ALLOC_FAILED,
  83. THP_SWPOUT,
  84. THP_SWPOUT_FALLBACK,
  85. #endif
  86. #ifdef CONFIG_MEMORY_BALLOON
  87. BALLOON_INFLATE,
  88. BALLOON_DEFLATE,
  89. #ifdef CONFIG_BALLOON_COMPACTION
  90. BALLOON_MIGRATE,
  91. #endif
  92. #endif
  93. #ifdef CONFIG_DEBUG_TLBFLUSH
  94. NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */
  95. NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */
  96. NR_TLB_LOCAL_FLUSH_ALL,
  97. NR_TLB_LOCAL_FLUSH_ONE,
  98. #endif /* CONFIG_DEBUG_TLBFLUSH */
  99. #ifdef CONFIG_DEBUG_VM_VMACACHE
  100. VMACACHE_FIND_CALLS,
  101. VMACACHE_FIND_HITS,
  102. VMACACHE_FULL_FLUSHES,
  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 */