brintos

brintos / linux-shallow public Read only

0
0
Text · 3.1 KiB · 5b8211c Raw
138 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM percpu4 5#if !defined(_TRACE_PERCPU_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_PERCPU_H7 8#include <linux/tracepoint.h>9#include <trace/events/mmflags.h>10 11TRACE_EVENT(percpu_alloc_percpu,12 13	TP_PROTO(unsigned long call_site,14		 bool reserved, bool is_atomic, size_t size,15		 size_t align, void *base_addr, int off,16		 void __percpu *ptr, size_t bytes_alloc, gfp_t gfp_flags),17 18	TP_ARGS(call_site, reserved, is_atomic, size, align, base_addr, off,19		ptr, bytes_alloc, gfp_flags),20 21	TP_STRUCT__entry(22		__field(	unsigned long,		call_site	)23		__field(	bool,			reserved	)24		__field(	bool,			is_atomic	)25		__field(	size_t,			size		)26		__field(	size_t,			align		)27		__field(	void *,			base_addr	)28		__field(	int,			off		)29		__field(	void __percpu *,	ptr		)30		__field(	size_t,			bytes_alloc	)31		__field(	unsigned long,		gfp_flags	)32	),33	TP_fast_assign(34		__entry->call_site	= call_site;35		__entry->reserved	= reserved;36		__entry->is_atomic	= is_atomic;37		__entry->size		= size;38		__entry->align		= align;39		__entry->base_addr	= base_addr;40		__entry->off		= off;41		__entry->ptr		= ptr;42		__entry->bytes_alloc	= bytes_alloc;43		__entry->gfp_flags	= (__force unsigned long)gfp_flags;44	),45 46	TP_printk("call_site=%pS reserved=%d is_atomic=%d size=%zu align=%zu base_addr=%p off=%d ptr=%p bytes_alloc=%zu gfp_flags=%s",47		  (void *)__entry->call_site,48		  __entry->reserved, __entry->is_atomic,49		  __entry->size, __entry->align,50		  __entry->base_addr, __entry->off, __entry->ptr,51		  __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags))52);53 54TRACE_EVENT(percpu_free_percpu,55 56	TP_PROTO(void *base_addr, int off, void __percpu *ptr),57 58	TP_ARGS(base_addr, off, ptr),59 60	TP_STRUCT__entry(61		__field(	void *,			base_addr	)62		__field(	int,			off		)63		__field(	void __percpu *,	ptr		)64	),65 66	TP_fast_assign(67		__entry->base_addr	= base_addr;68		__entry->off		= off;69		__entry->ptr		= ptr;70	),71 72	TP_printk("base_addr=%p off=%d ptr=%p",73		__entry->base_addr, __entry->off, __entry->ptr)74);75 76TRACE_EVENT(percpu_alloc_percpu_fail,77 78	TP_PROTO(bool reserved, bool is_atomic, size_t size, size_t align),79 80	TP_ARGS(reserved, is_atomic, size, align),81 82	TP_STRUCT__entry(83		__field(	bool,	reserved	)84		__field(	bool,	is_atomic	)85		__field(	size_t,	size		)86		__field(	size_t, align		)87	),88 89	TP_fast_assign(90		__entry->reserved	= reserved;91		__entry->is_atomic	= is_atomic;92		__entry->size		= size;93		__entry->align		= align;94	),95 96	TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu",97		  __entry->reserved, __entry->is_atomic,98		  __entry->size, __entry->align)99);100 101TRACE_EVENT(percpu_create_chunk,102 103	TP_PROTO(void *base_addr),104 105	TP_ARGS(base_addr),106 107	TP_STRUCT__entry(108		__field(	void *, base_addr	)109	),110 111	TP_fast_assign(112		__entry->base_addr	= base_addr;113	),114 115	TP_printk("base_addr=%p", __entry->base_addr)116);117 118TRACE_EVENT(percpu_destroy_chunk,119 120	TP_PROTO(void *base_addr),121 122	TP_ARGS(base_addr),123 124	TP_STRUCT__entry(125		__field(	void *,	base_addr	)126	),127 128	TP_fast_assign(129		__entry->base_addr	= base_addr;130	),131 132	TP_printk("base_addr=%p", __entry->base_addr)133);134 135#endif /* _TRACE_PERCPU_H */136 137#include <trace/define_trace.h>138