vm_event_item.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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,
  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. #ifdef CONFIG_NUMA_BALANCING
  40. NUMA_PTE_UPDATES,
  41. NUMA_HUGE_PTE_UPDATES,
  42. NUMA_HINT_FAULTS,
  43. NUMA_HINT_FAULTS_LOCAL,
  44. NUMA_PAGE_MIGRATE,
  45. #endif
  46. #ifdef CONFIG_MIGRATION
  47. PGMIGRATE_SUCCESS, PGMIGRATE_FAIL,
  48. #endif
  49. #ifdef CONFIG_COMPACTION
  50. COMPACTMIGRATE_SCANNED, COMPACTFREE_SCANNED,
  51. COMPACTISOLATED,
  52. COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
  53. KCOMPACTD_WAKE,
  54. #endif
  55. #ifdef CONFIG_HUGETLB_PAGE
  56. HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
  57. #endif
  58. UNEVICTABLE_PGCULLED, /* culled to noreclaim list */
  59. UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */
  60. UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */
  61. UNEVICTABLE_PGMLOCKED,
  62. UNEVICTABLE_PGMUNLOCKED,
  63. UNEVICTABLE_PGCLEARED, /* on COW, page truncate */
  64. UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */
  65. #ifdef CONFIG_TRANSPARENT_HUGEPAGE
  66. THP_FAULT_ALLOC,
  67. THP_FAULT_FALLBACK,
  68. THP_COLLAPSE_ALLOC,
  69. THP_COLLAPSE_ALLOC_FAILED,
  70. THP_FILE_ALLOC,
  71. THP_FILE_MAPPED,
  72. THP_SPLIT_PAGE,
  73. THP_SPLIT_PAGE_FAILED,
  74. THP_DEFERRED_SPLIT_PAGE,
  75. THP_SPLIT_PMD,
  76. THP_ZERO_PAGE_ALLOC,
  77. THP_ZERO_PAGE_ALLOC_FAILED,
  78. #endif
  79. #ifdef CONFIG_MEMORY_BALLOON
  80. BALLOON_INFLATE,
  81. BALLOON_DEFLATE,
  82. #ifdef CONFIG_BALLOON_COMPACTION
  83. BALLOON_MIGRATE,
  84. #endif
  85. #endif
  86. #ifdef CONFIG_DEBUG_TLBFLUSH
  87. NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */
  88. NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */
  89. NR_TLB_LOCAL_FLUSH_ALL,
  90. NR_TLB_LOCAL_FLUSH_ONE,
  91. #endif /* CONFIG_DEBUG_TLBFLUSH */
  92. #ifdef CONFIG_DEBUG_VM_VMACACHE
  93. VMACACHE_FIND_CALLS,
  94. VMACACHE_FIND_HITS,
  95. VMACACHE_FULL_FLUSHES,
  96. #endif
  97. NR_VM_EVENT_ITEMS
  98. };
  99. #ifndef CONFIG_TRANSPARENT_HUGEPAGE
  100. #define THP_FILE_ALLOC ({ BUILD_BUG(); 0; })
  101. #define THP_FILE_MAPPED ({ BUILD_BUG(); 0; })
  102. #endif
  103. #endif /* VM_EVENT_ITEM_H_INCLUDED */