]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Add array printing helper
authorDave Martin <Dave.Martin@arm.com>
Wed, 28 Jan 2015 12:48:53 +0000 (12:48 +0000)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 28 Jan 2015 15:34:47 +0000 (10:34 -0500)
commit01d03d02b4b7c0b273f129342081f1ccab9be7bb
treeb0db72c5d2b7dc79a7937f05443a05f1ac5a64c4
parent8ddcae789e660ea9cdde34abc5aae6dc947be3c8
tracing: Add array printing helper

If a trace event contains an array, there is currently no standard
way to format this for text output.  Drivers are currently hacking
around this by a) local hacks that use the trace_seq functionailty
directly, or b) just not printing that information.  For fixed size
arrays, formatting of the elements can be open-coded, but this gets
cumbersome for arrays of non-trivial size.

These approaches result in non-standard content of the event format
description delivered to userspace, so userland tools needs to be
taught to understand and parse each array printing method
individually.

This patch implements a __print_array() helper that tracepoint
implementations can use instead of reinventing it.  A simple C-style
syntax is used to delimit the array and its elements {like,this}.

So that the helpers can be used with large static arrays as well as
dynamic arrays, they take a pointer and element count: they can be
used with __get_dynamic_array() for use with dynamic arrays.
Link: http://lkml.kernel.org/r/1422449335-8289-2-git-send-email-javi.merino@arm.com
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
include/trace/ftrace.h
kernel/trace/trace_output.c