rseq.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. #undef TRACE_SYSTEM
  3. #define TRACE_SYSTEM rseq
  4. #if !defined(_TRACE_RSEQ_H) || defined(TRACE_HEADER_MULTI_READ)
  5. #define _TRACE_RSEQ_H
  6. #include <linux/tracepoint.h>
  7. #include <linux/types.h>
  8. TRACE_EVENT(rseq_update,
  9. TP_PROTO(struct task_struct *t),
  10. TP_ARGS(t),
  11. TP_STRUCT__entry(
  12. __field(s32, cpu_id)
  13. __field(s32, node_id)
  14. __field(s32, mm_cid)
  15. ),
  16. TP_fast_assign(
  17. __entry->cpu_id = t->rseq.ids.cpu_id;
  18. __entry->node_id = cpu_to_node(__entry->cpu_id);
  19. __entry->mm_cid = t->rseq.ids.mm_cid;
  20. ),
  21. TP_printk("cpu_id=%d node_id=%d mm_cid=%d", __entry->cpu_id,
  22. __entry->node_id, __entry->mm_cid)
  23. );
  24. TRACE_EVENT(rseq_ip_fixup,
  25. TP_PROTO(unsigned long regs_ip, unsigned long start_ip,
  26. unsigned long post_commit_offset, unsigned long abort_ip),
  27. TP_ARGS(regs_ip, start_ip, post_commit_offset, abort_ip),
  28. TP_STRUCT__entry(
  29. __field(unsigned long, regs_ip)
  30. __field(unsigned long, start_ip)
  31. __field(unsigned long, post_commit_offset)
  32. __field(unsigned long, abort_ip)
  33. ),
  34. TP_fast_assign(
  35. __entry->regs_ip = regs_ip;
  36. __entry->start_ip = start_ip;
  37. __entry->post_commit_offset = post_commit_offset;
  38. __entry->abort_ip = abort_ip;
  39. ),
  40. TP_printk("regs_ip=0x%lx start_ip=0x%lx post_commit_offset=%lu abort_ip=0x%lx",
  41. __entry->regs_ip, __entry->start_ip,
  42. __entry->post_commit_offset, __entry->abort_ip)
  43. );
  44. #endif /* _TRACE_SOCK_H */
  45. /* This part must be outside protection */
  46. #include <trace/define_trace.h>