brintos

brintos / linux-shallow public Read only

0
0
Text · 2.9 KiB · a2379a4 Raw
143 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM osnoise4 5#if !defined(_OSNOISE_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)6#define _OSNOISE_TRACE_H7 8#include <linux/tracepoint.h>9TRACE_EVENT(thread_noise,10 11	TP_PROTO(struct task_struct *t, u64 start, u64 duration),12 13	TP_ARGS(t, start, duration),14 15	TP_STRUCT__entry(16		__array(	char,		comm,	TASK_COMM_LEN)17		__field(	u64,		start	)18		__field(	u64,		duration)19		__field(	pid_t,		pid	)20	),21 22	TP_fast_assign(23		memcpy(__entry->comm, t->comm, TASK_COMM_LEN);24		__entry->pid = t->pid;25		__entry->start = start;26		__entry->duration = duration;27	),28 29	TP_printk("%8s:%d start %llu.%09u duration %llu ns",30		__entry->comm,31		__entry->pid,32		__print_ns_to_secs(__entry->start),33		__print_ns_without_secs(__entry->start),34		__entry->duration)35);36 37TRACE_EVENT(softirq_noise,38 39	TP_PROTO(int vector, u64 start, u64 duration),40 41	TP_ARGS(vector, start, duration),42 43	TP_STRUCT__entry(44		__field(	u64,		start	)45		__field(	u64,		duration)46		__field(	int,		vector	)47	),48 49	TP_fast_assign(50		__entry->vector = vector;51		__entry->start = start;52		__entry->duration = duration;53	),54 55	TP_printk("%8s:%d start %llu.%09u duration %llu ns",56		show_softirq_name(__entry->vector),57		__entry->vector,58		__print_ns_to_secs(__entry->start),59		__print_ns_without_secs(__entry->start),60		__entry->duration)61);62 63TRACE_EVENT(irq_noise,64 65	TP_PROTO(int vector, const char *desc, u64 start, u64 duration),66 67	TP_ARGS(vector, desc, start, duration),68 69	TP_STRUCT__entry(70		__field(	u64,		start	)71		__field(	u64,		duration)72		__string(	desc,		desc    )73		__field(	int,		vector	)74 75	),76 77	TP_fast_assign(78		__assign_str(desc);79		__entry->vector = vector;80		__entry->start = start;81		__entry->duration = duration;82	),83 84	TP_printk("%s:%d start %llu.%09u duration %llu ns",85		__get_str(desc),86		__entry->vector,87		__print_ns_to_secs(__entry->start),88		__print_ns_without_secs(__entry->start),89		__entry->duration)90);91 92TRACE_EVENT(nmi_noise,93 94	TP_PROTO(u64 start, u64 duration),95 96	TP_ARGS(start, duration),97 98	TP_STRUCT__entry(99		__field(	u64,		start	)100		__field(	u64,		duration)101	),102 103	TP_fast_assign(104		__entry->start = start;105		__entry->duration = duration;106	),107 108	TP_printk("start %llu.%09u duration %llu ns",109		__print_ns_to_secs(__entry->start),110		__print_ns_without_secs(__entry->start),111		__entry->duration)112);113 114TRACE_EVENT(sample_threshold,115 116	TP_PROTO(u64 start, u64 duration, u64 interference),117 118	TP_ARGS(start, duration, interference),119 120	TP_STRUCT__entry(121		__field(	u64,		start	)122		__field(	u64,		duration)123		__field(	u64,		interference)124	),125 126	TP_fast_assign(127		__entry->start = start;128		__entry->duration = duration;129		__entry->interference = interference;130	),131 132	TP_printk("start %llu.%09u duration %llu ns interference %llu",133		__print_ns_to_secs(__entry->start),134		__print_ns_without_secs(__entry->start),135		__entry->duration,136		__entry->interference)137);138 139#endif /* _TRACE_OSNOISE_H */140 141/* This part must be outside protection */142#include <trace/define_trace.h>143