rwsem.h 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #undef TRACE_SYSTEM
  3. #define TRACE_SYSTEM rwsem
  4. #define TRACE_INCLUDE_PATH trace/hooks
  5. #if !defined(_TRACE_HOOK_RWSEM_H) || defined(TRACE_HEADER_MULTI_READ)
  6. #define _TRACE_HOOK_RWSEM_H
  7. #include <trace/hooks/vendor_hooks.h>
  8. /*
  9. * Following tracepoints are not exported in tracefs and provide a
  10. * mechanism for vendor modules to hook and extend functionality
  11. */
  12. struct rw_semaphore;
  13. struct rwsem_waiter;
  14. DECLARE_HOOK(android_vh_rwsem_init,
  15. TP_PROTO(struct rw_semaphore *sem),
  16. TP_ARGS(sem));
  17. DECLARE_HOOK(android_vh_rwsem_wake,
  18. TP_PROTO(struct rw_semaphore *sem),
  19. TP_ARGS(sem));
  20. DECLARE_HOOK(android_vh_rwsem_write_finished,
  21. TP_PROTO(struct rw_semaphore *sem),
  22. TP_ARGS(sem));
  23. DECLARE_HOOK(android_vh_alter_rwsem_list_add,
  24. TP_PROTO(struct rwsem_waiter *waiter,
  25. struct rw_semaphore *sem,
  26. bool *already_on_list),
  27. TP_ARGS(waiter, sem, already_on_list));
  28. DECLARE_HOOK(android_vh_rwsem_wake_finish,
  29. TP_PROTO(struct rw_semaphore *sem),
  30. TP_ARGS(sem));
  31. #endif /* _TRACE_HOOK_RWSEM_H */
  32. /* This part must be outside protection */
  33. #include <trace/define_trace.h>