0001
0002
0003 #undef TRACE_SYSTEM
0004 #define TRACE_SYSTEM vas
0005
0006 #if !defined(_VAS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
0007
0008 #define _VAS_TRACE_H
0009 #include <linux/tracepoint.h>
0010 #include <linux/sched.h>
0011 #include <asm/vas.h>
0012
0013 TRACE_EVENT( vas_rx_win_open,
0014
0015 TP_PROTO(struct task_struct *tsk,
0016 int vasid,
0017 int cop,
0018 struct vas_rx_win_attr *rxattr),
0019
0020 TP_ARGS(tsk, vasid, cop, rxattr),
0021
0022 TP_STRUCT__entry(
0023 __field(struct task_struct *, tsk)
0024 __field(int, pid)
0025 __field(int, cop)
0026 __field(int, vasid)
0027 __field(struct vas_rx_win_attr *, rxattr)
0028 __field(int, lnotify_lpid)
0029 __field(int, lnotify_pid)
0030 __field(int, lnotify_tid)
0031 ),
0032
0033 TP_fast_assign(
0034 __entry->pid = tsk->pid;
0035 __entry->vasid = vasid;
0036 __entry->cop = cop;
0037 __entry->lnotify_lpid = rxattr->lnotify_lpid;
0038 __entry->lnotify_pid = rxattr->lnotify_pid;
0039 __entry->lnotify_tid = rxattr->lnotify_tid;
0040 ),
0041
0042 TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pid=%d, tid=%d",
0043 __entry->pid, __entry->vasid, __entry->cop,
0044 __entry->lnotify_lpid, __entry->lnotify_pid,
0045 __entry->lnotify_tid)
0046 );
0047
0048 TRACE_EVENT( vas_tx_win_open,
0049
0050 TP_PROTO(struct task_struct *tsk,
0051 int vasid,
0052 int cop,
0053 struct vas_tx_win_attr *txattr),
0054
0055 TP_ARGS(tsk, vasid, cop, txattr),
0056
0057 TP_STRUCT__entry(
0058 __field(struct task_struct *, tsk)
0059 __field(int, pid)
0060 __field(int, cop)
0061 __field(int, vasid)
0062 __field(struct vas_tx_win_attr *, txattr)
0063 __field(int, lpid)
0064 __field(int, pidr)
0065 ),
0066
0067 TP_fast_assign(
0068 __entry->pid = tsk->pid;
0069 __entry->vasid = vasid;
0070 __entry->cop = cop;
0071 __entry->lpid = txattr->lpid;
0072 __entry->pidr = txattr->pidr;
0073 ),
0074
0075 TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pidr=%d",
0076 __entry->pid, __entry->vasid, __entry->cop,
0077 __entry->lpid, __entry->pidr)
0078 );
0079
0080 TRACE_EVENT( vas_paste_crb,
0081
0082 TP_PROTO(struct task_struct *tsk,
0083 struct pnv_vas_window *win),
0084
0085 TP_ARGS(tsk, win),
0086
0087 TP_STRUCT__entry(
0088 __field(struct task_struct *, tsk)
0089 __field(struct vas_window *, win)
0090 __field(int, pid)
0091 __field(int, vasid)
0092 __field(int, winid)
0093 __field(unsigned long, paste_kaddr)
0094 ),
0095
0096 TP_fast_assign(
0097 __entry->pid = tsk->pid;
0098 __entry->vasid = win->vinst->vas_id;
0099 __entry->winid = win->vas_win.winid;
0100 __entry->paste_kaddr = (unsigned long)win->paste_kaddr
0101 ),
0102
0103 TP_printk("pid=%d, vasid=%d, winid=%d, paste_kaddr=0x%016lx\n",
0104 __entry->pid, __entry->vasid, __entry->winid,
0105 __entry->paste_kaddr)
0106 );
0107
0108 #endif
0109
0110 #undef TRACE_INCLUDE_PATH
0111 #define TRACE_INCLUDE_PATH ../../arch/powerpc/platforms/powernv
0112 #define TRACE_INCLUDE_FILE vas-trace
0113 #include <trace/define_trace.h>