trace_benchmark.h 965 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // SPDX-License-Identifier: GPL-2.0
  2. #undef TRACE_SYSTEM
  3. #define TRACE_SYSTEM benchmark
  4. #if !defined(_TRACE_BENCHMARK_H) || defined(TRACE_HEADER_MULTI_READ)
  5. #define _TRACE_BENCHMARK_H
  6. #include <linux/tracepoint.h>
  7. extern int trace_benchmark_reg(void);
  8. extern void trace_benchmark_unreg(void);
  9. #define BENCHMARK_EVENT_STRLEN 128
  10. TRACE_EVENT_FN(benchmark_event,
  11. TP_PROTO(const char *str, u64 delta),
  12. TP_ARGS(str, delta),
  13. TP_STRUCT__entry(
  14. __array( char, str, BENCHMARK_EVENT_STRLEN )
  15. __field( u64, delta)
  16. ),
  17. TP_fast_assign(
  18. memcpy(__entry->str, str, BENCHMARK_EVENT_STRLEN);
  19. __entry->delta = delta;
  20. ),
  21. TP_printk("%s delta=%llu", __entry->str, __entry->delta),
  22. trace_benchmark_reg, trace_benchmark_unreg
  23. );
  24. #endif /* _TRACE_BENCHMARK_H */
  25. #undef TRACE_INCLUDE_FILE
  26. #undef TRACE_INCLUDE_PATH
  27. #define TRACE_INCLUDE_PATH .
  28. #define TRACE_INCLUDE_FILE trace_benchmark
  29. /* This part must be outside protection */
  30. #include <trace/define_trace.h>