include/trace/stages/stage3_trace_output.h

Source file repositories/reference/linux-study-clean/include/trace/stages/stage3_trace_output.h

File Facts

System
Linux kernel
Corpus path
include/trace/stages/stage3_trace_output.h
Extension
.h
Size
4816 bytes
Lines
161
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

#undef __entry
#define __entry field

#undef TP_printk
#define TP_printk(fmt, args...) fmt "\n", args

#undef __get_dynamic_array
#define __get_dynamic_array(field)	\
		((void *)__entry + (__entry->__data_loc_##field & 0xffff))

#undef __get_dynamic_array_len
#define __get_dynamic_array_len(field)	\
		((__entry->__data_loc_##field >> 16) & 0xffff)

#undef __get_str
#define __get_str(field) ((char *)__get_dynamic_array(field))

#undef __get_rel_dynamic_array
#define __get_rel_dynamic_array(field)					\
		((void *)__entry + 					\
		 offsetof(typeof(*__entry), __rel_loc_##field) +	\
		 sizeof(__entry->__rel_loc_##field) +			\
		 (__entry->__rel_loc_##field & 0xffff))

#undef __get_rel_dynamic_array_len
#define __get_rel_dynamic_array_len(field)	\
		((__entry->__rel_loc_##field >> 16) & 0xffff)

#undef __get_rel_str
#define __get_rel_str(field) ((char *)__get_rel_dynamic_array(field))

#undef __get_bitmask
#define __get_bitmask(field)						\
	({								\
		void *__bitmask = __get_dynamic_array(field);		\
		unsigned int __bitmask_size;				\
		__bitmask_size = __get_dynamic_array_len(field);	\
		trace_print_bitmask_seq(iter, __bitmask, __bitmask_size);	\
	})

#undef __get_cpumask
#define __get_cpumask(field) __get_bitmask(field)

#undef __get_rel_bitmask
#define __get_rel_bitmask(field)						\
	({								\
		void *__bitmask = __get_rel_dynamic_array(field);		\
		unsigned int __bitmask_size;				\
		__bitmask_size = __get_rel_dynamic_array_len(field);	\
		trace_print_bitmask_seq(iter, __bitmask, __bitmask_size);	\
	})

#undef __get_rel_cpumask
#define __get_rel_cpumask(field) __get_rel_bitmask(field)

#undef __get_sockaddr
#define __get_sockaddr(field)	((struct sockaddr *)__get_dynamic_array(field))

#undef __get_rel_sockaddr
#define __get_rel_sockaddr(field)	((struct sockaddr *)__get_rel_dynamic_array(field))

#undef __print_flags
#define __print_flags(flag, delim, flag_array...)					\
	({										\
		static const struct trace_print_flags __flags[] =			\
			{ flag_array };							\
		trace_print_flags_seq(p, delim, flag, __flags, ARRAY_SIZE(__flags));	\
	})

#undef __print_symbolic
#define __print_symbolic(value, symbol_array...)					\
	({										\
		static const struct trace_print_flags symbols[] =			\
			{ symbol_array };						\
		trace_print_symbols_seq(p, value, symbols, ARRAY_SIZE(symbols));	\
	})

#undef __print_flags_u64
#undef __print_symbolic_u64
#if BITS_PER_LONG == 32
#define __print_flags_u64(flag, delim, flag_array...)						\
	({											\
		static const struct trace_print_flags_u64 __flags[] =				\
			{ flag_array };								\
		trace_print_flags_seq_u64(p, delim, flag, __flags, ARRAY_SIZE(__flags));	\
	})

#define __print_symbolic_u64(value, symbol_array...)					\
	({										\
		static const struct trace_print_flags_u64 symbols[] =			\

Annotation

Implementation Notes