instrumentation.h 885 B

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <[email protected]>
  4. *
  5. * Helper functions to facilitate the instrumentation of auto-generated
  6. * RV monitors create by dot2k.
  7. *
  8. * The dot2k tool is available at tools/verification/dot2/
  9. */
  10. #include <linux/ftrace.h>
  11. /*
  12. * rv_attach_trace_probe - check and attach a handler function to a tracepoint
  13. */
  14. #define rv_attach_trace_probe(monitor, tp, rv_handler) \
  15. do { \
  16. check_trace_callback_type_##tp(rv_handler); \
  17. WARN_ONCE(register_trace_##tp(rv_handler, NULL), \
  18. "fail attaching " #monitor " " #tp "handler"); \
  19. } while (0)
  20. /*
  21. * rv_detach_trace_probe - detach a handler function to a tracepoint
  22. */
  23. #define rv_detach_trace_probe(monitor, tp, rv_handler) \
  24. do { \
  25. unregister_trace_##tp(rv_handler, NULL); \
  26. } while (0)