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