mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-28 00:32:00 +00:00
tracing: Add __print_dynamic_array() helper
When printing a dynamic array in a trace event, the method is rather ugly. It has the format of: __print_array(__get_dynamic_array(array), __get_dynmaic_array_len(array) / el_size, el_size) Since dynamic arrays are known to the tracing infrastructure, create a helper macro that does the above for you. __print_dynamic_array(array, el_size) Which would expand to the same output. Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Avadhut Naik <avadhut.naik@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> Link: https://lore.kernel.org/r/20241022194158.110073-3-avadhut.naik@amd.com
This commit is contained in:
parent
750fd23926
commit
e52750fb14
@ -119,6 +119,14 @@
|
||||
trace_print_array_seq(p, array, count, el_size); \
|
||||
})
|
||||
|
||||
#undef __print_dynamic_array
|
||||
#define __print_dynamic_array(array, el_size) \
|
||||
({ \
|
||||
__print_array(__get_dynamic_array(array), \
|
||||
__get_dynamic_array_len(array) / (el_size), \
|
||||
(el_size)); \
|
||||
})
|
||||
|
||||
#undef __print_hex_dump
|
||||
#define __print_hex_dump(prefix_str, prefix_type, \
|
||||
rowsize, groupsize, buf, len, ascii) \
|
||||
|
@ -22,6 +22,7 @@
|
||||
#undef __get_rel_cpumask
|
||||
#undef __get_rel_sockaddr
|
||||
#undef __print_array
|
||||
#undef __print_dynamic_array
|
||||
#undef __print_hex_dump
|
||||
#undef __get_buf
|
||||
|
||||
|
@ -319,7 +319,7 @@ TRACE_EVENT(foo_bar,
|
||||
__assign_cpumask(cpum, cpumask_bits(mask));
|
||||
),
|
||||
|
||||
TP_printk("foo %s %d %s %s %s %s %s (%s) (%s) %s", __entry->foo, __entry->bar,
|
||||
TP_printk("foo %s %d %s %s %s %s %s %s (%s) (%s) %s", __entry->foo, __entry->bar,
|
||||
|
||||
/*
|
||||
* Notice here the use of some helper functions. This includes:
|
||||
@ -363,6 +363,11 @@ TRACE_EVENT(foo_bar,
|
||||
__print_array(__get_dynamic_array(list),
|
||||
__get_dynamic_array_len(list) / sizeof(int),
|
||||
sizeof(int)),
|
||||
|
||||
/* A shortcut is to use __print_dynamic_array for dynamic arrays */
|
||||
|
||||
__print_dynamic_array(list, sizeof(int)),
|
||||
|
||||
__get_str(str), __get_str(lstr),
|
||||
__get_bitmask(cpus), __get_cpumask(cpum),
|
||||
__get_str(vstr))
|
||||
|
Loading…
Reference in New Issue
Block a user