linux_dsm_epyc7002/arch/powerpc/platforms/powernv/vas-trace.h
Sukadev Bhattiprolu 007bb7d6c7 powerpc/vas: Add a couple of trace points
Add a couple of trace points in the VAS driver

Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
[mpe: Add SPDX tag to new header]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-03-14 20:13:58 +11:00

114 lines
2.6 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM vas
#if !defined(_VAS_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _VAS_TRACE_H
#include <linux/tracepoint.h>
#include <linux/sched.h>
#include <asm/vas.h>
TRACE_EVENT( vas_rx_win_open,
TP_PROTO(struct task_struct *tsk,
int vasid,
int cop,
struct vas_rx_win_attr *rxattr),
TP_ARGS(tsk, vasid, cop, rxattr),
TP_STRUCT__entry(
__field(struct task_struct *, tsk)
__field(int, pid)
__field(int, cop)
__field(int, vasid)
__field(struct vas_rx_win_attr *, rxattr)
__field(int, lnotify_lpid)
__field(int, lnotify_pid)
__field(int, lnotify_tid)
),
TP_fast_assign(
__entry->pid = tsk->pid;
__entry->vasid = vasid;
__entry->cop = cop;
__entry->lnotify_lpid = rxattr->lnotify_lpid;
__entry->lnotify_pid = rxattr->lnotify_pid;
__entry->lnotify_tid = rxattr->lnotify_tid;
),
TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pid=%d, tid=%d",
__entry->pid, __entry->vasid, __entry->cop,
__entry->lnotify_lpid, __entry->lnotify_pid,
__entry->lnotify_tid)
);
TRACE_EVENT( vas_tx_win_open,
TP_PROTO(struct task_struct *tsk,
int vasid,
int cop,
struct vas_tx_win_attr *txattr),
TP_ARGS(tsk, vasid, cop, txattr),
TP_STRUCT__entry(
__field(struct task_struct *, tsk)
__field(int, pid)
__field(int, cop)
__field(int, vasid)
__field(struct vas_tx_win_attr *, txattr)
__field(int, lpid)
__field(int, pidr)
),
TP_fast_assign(
__entry->pid = tsk->pid;
__entry->vasid = vasid;
__entry->cop = cop;
__entry->lpid = txattr->lpid;
__entry->pidr = txattr->pidr;
),
TP_printk("pid=%d, vasid=%d, cop=%d, lpid=%d, pidr=%d",
__entry->pid, __entry->vasid, __entry->cop,
__entry->lpid, __entry->pidr)
);
TRACE_EVENT( vas_paste_crb,
TP_PROTO(struct task_struct *tsk,
struct vas_window *win),
TP_ARGS(tsk, win),
TP_STRUCT__entry(
__field(struct task_struct *, tsk)
__field(struct vas_window *, win)
__field(int, pid)
__field(int, vasid)
__field(int, winid)
__field(unsigned long, paste_kaddr)
),
TP_fast_assign(
__entry->pid = tsk->pid;
__entry->vasid = win->vinst->vas_id;
__entry->winid = win->winid;
__entry->paste_kaddr = (unsigned long)win->paste_kaddr
),
TP_printk("pid=%d, vasid=%d, winid=%d, paste_kaddr=0x%016lx\n",
__entry->pid, __entry->vasid, __entry->winid,
__entry->paste_kaddr)
);
#endif /* _VAS_TRACE_H */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH ../../arch/powerpc/platforms/powernv
#define TRACE_INCLUDE_FILE vas-trace
#include <trace/define_trace.h>