vas-trace.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. #undef TRACE_SYSTEM
  3. #define TRACE_SYSTEM vas
  4. #if !defined(_VAS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
  5. #define _VAS_TRACE_H
  6. #include <linux/tracepoint.h>
  7. #include <linux/sched.h>
  8. #include <asm/vas.h>
  9. TRACE_EVENT( vas_rx_win_open,
  10. TP_PROTO(struct task_struct *tsk,
  11. int vasid,
  12. int cop,
  13. struct vas_rx_win_attr *rxattr),
  14. TP_ARGS(tsk, vasid, cop, rxattr),
  15. TP_STRUCT__entry(
  16. __field(struct task_struct *, tsk)
  17. __field(int, pid)
  18. __field(int, cop)
  19. __field(int, vasid)
  20. __field(struct vas_rx_win_attr *, rxattr)
  21. __field(int, lnotify_lpid)
  22. __field(int, lnotify_pid)
  23. __field(int, lnotify_tid)
  24. ),
  25. TP_fast_assign(
  26. __entry->pid = tsk->pid;
  27. __entry->vasid = vasid;
  28. __entry->cop = cop;
  29. __entry->lnotify_lpid = rxattr->lnotify_lpid;
  30. __entry->lnotify_pid = rxattr->lnotify_pid;
  31. __entry->lnotify_tid = rxattr->lnotify_tid;
  32. ),
  33. TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pid=%d, tid=%d",
  34. __entry->pid, __entry->vasid, __entry->cop,
  35. __entry->lnotify_lpid, __entry->lnotify_pid,
  36. __entry->lnotify_tid)
  37. );
  38. TRACE_EVENT( vas_tx_win_open,
  39. TP_PROTO(struct task_struct *tsk,
  40. int vasid,
  41. int cop,
  42. struct vas_tx_win_attr *txattr),
  43. TP_ARGS(tsk, vasid, cop, txattr),
  44. TP_STRUCT__entry(
  45. __field(struct task_struct *, tsk)
  46. __field(int, pid)
  47. __field(int, cop)
  48. __field(int, vasid)
  49. __field(struct vas_tx_win_attr *, txattr)
  50. __field(int, lpid)
  51. __field(int, pidr)
  52. ),
  53. TP_fast_assign(
  54. __entry->pid = tsk->pid;
  55. __entry->vasid = vasid;
  56. __entry->cop = cop;
  57. __entry->lpid = txattr->lpid;
  58. __entry->pidr = txattr->pidr;
  59. ),
  60. TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pidr=%d",
  61. __entry->pid, __entry->vasid, __entry->cop,
  62. __entry->lpid, __entry->pidr)
  63. );
  64. TRACE_EVENT( vas_paste_crb,
  65. TP_PROTO(struct task_struct *tsk,
  66. struct pnv_vas_window *win),
  67. TP_ARGS(tsk, win),
  68. TP_STRUCT__entry(
  69. __field(struct task_struct *, tsk)
  70. __field(struct vas_window *, win)
  71. __field(int, pid)
  72. __field(int, vasid)
  73. __field(int, winid)
  74. __field(unsigned long, paste_kaddr)
  75. ),
  76. TP_fast_assign(
  77. __entry->pid = tsk->pid;
  78. __entry->vasid = win->vinst->vas_id;
  79. __entry->winid = win->vas_win.winid;
  80. __entry->paste_kaddr = (unsigned long)win->paste_kaddr
  81. ),
  82. TP_printk("pid=%d, vasid=%d, winid=%d, paste_kaddr=0x%016lx\n",
  83. __entry->pid, __entry->vasid, __entry->winid,
  84. __entry->paste_kaddr)
  85. );
  86. #endif /* _VAS_TRACE_H */
  87. #undef TRACE_INCLUDE_PATH
  88. #define TRACE_INCLUDE_PATH ../../arch/powerpc/platforms/powernv
  89. #define TRACE_INCLUDE_FILE vas-trace
  90. #include <trace/define_trace.h>