compaction.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM compaction
  3. #if !defined(_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_COMPACTION_H
  5. #include <linux/types.h>
  6. #include <linux/tracepoint.h>
  7. #include <trace/events/gfpflags.h>
  8. DECLARE_EVENT_CLASS(mm_compaction_isolate_template,
  9. TP_PROTO(unsigned long nr_scanned,
  10. unsigned long nr_taken),
  11. TP_ARGS(nr_scanned, nr_taken),
  12. TP_STRUCT__entry(
  13. __field(unsigned long, nr_scanned)
  14. __field(unsigned long, nr_taken)
  15. ),
  16. TP_fast_assign(
  17. __entry->nr_scanned = nr_scanned;
  18. __entry->nr_taken = nr_taken;
  19. ),
  20. TP_printk("nr_scanned=%lu nr_taken=%lu",
  21. __entry->nr_scanned,
  22. __entry->nr_taken)
  23. );
  24. DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_migratepages,
  25. TP_PROTO(unsigned long nr_scanned,
  26. unsigned long nr_taken),
  27. TP_ARGS(nr_scanned, nr_taken)
  28. );
  29. DEFINE_EVENT(mm_compaction_isolate_template, mm_compaction_isolate_freepages,
  30. TP_PROTO(unsigned long nr_scanned,
  31. unsigned long nr_taken),
  32. TP_ARGS(nr_scanned, nr_taken)
  33. );
  34. TRACE_EVENT(mm_compaction_migratepages,
  35. TP_PROTO(unsigned long nr_migrated,
  36. unsigned long nr_failed),
  37. TP_ARGS(nr_migrated, nr_failed),
  38. TP_STRUCT__entry(
  39. __field(unsigned long, nr_migrated)
  40. __field(unsigned long, nr_failed)
  41. ),
  42. TP_fast_assign(
  43. __entry->nr_migrated = nr_migrated;
  44. __entry->nr_failed = nr_failed;
  45. ),
  46. TP_printk("nr_migrated=%lu nr_failed=%lu",
  47. __entry->nr_migrated,
  48. __entry->nr_failed)
  49. );
  50. TRACE_EVENT(mm_compaction_begin,
  51. TP_PROTO(unsigned long zone_start, unsigned long migrate_start,
  52. unsigned long free_start, unsigned long zone_end),
  53. TP_ARGS(zone_start, migrate_start, free_start, zone_end),
  54. TP_STRUCT__entry(
  55. __field(unsigned long, zone_start)
  56. __field(unsigned long, migrate_start)
  57. __field(unsigned long, free_start)
  58. __field(unsigned long, zone_end)
  59. ),
  60. TP_fast_assign(
  61. __entry->zone_start = zone_start;
  62. __entry->migrate_start = migrate_start;
  63. __entry->free_start = free_start;
  64. __entry->zone_end = zone_end;
  65. ),
  66. TP_printk("zone_start=%lu migrate_start=%lu free_start=%lu zone_end=%lu",
  67. __entry->zone_start,
  68. __entry->migrate_start,
  69. __entry->free_start,
  70. __entry->zone_end)
  71. );
  72. TRACE_EVENT(mm_compaction_end,
  73. TP_PROTO(int status),
  74. TP_ARGS(status),
  75. TP_STRUCT__entry(
  76. __field(int, status)
  77. ),
  78. TP_fast_assign(
  79. __entry->status = status;
  80. ),
  81. TP_printk("status=%d", __entry->status)
  82. );
  83. #endif /* _TRACE_COMPACTION_H */
  84. /* This part must be outside protection */
  85. #include <trace/define_trace.h>