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