tracing: add __print_flags for events
authorSteven Rostedt <srostedt@redhat.com>
Tue, 26 May 2009 18:25:22 +0000 (20:25 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Tue, 26 May 2009 18:25:22 +0000 (20:25 +0200)
commitbe74b73a57645cc253d881ab0c1014eb64b9cf22
tree83f14ae9a43fe98a1363d30d20d60245e1115382
parent0e907c99391362385c8e3af2c43b904dd1fd5d73
tracing: add __print_flags for events

Developers have been asking for the ability in the ftrace event tracer
to display names of bits in a flags variable.

Instead of printing out c2, it would be easier to read FOO|BAR|GOO,
assuming that FOO is bit 1, BAR is bit 6 and GOO is bit 7.

Some examples where this would be useful are the state flags in a context
switch, kmalloc flags, and even permision flags in accessing files.

[
  v2 changes include:

  Frederic Weisbecker's idea of using a mask instead of bits,
  thus we can output GFP_KERNEL instead of GPF_WAIT|GFP_IO|GFP_FS.

  Li Zefan's idea of allowing the caller of __print_flags to add their
  own delimiter (or no delimiter) where we can get for file permissions
  rwx instead of r|w|x.
]

[
  v3 changes:

   Christoph Hellwig's idea of using an array instead of va_args.
]

[ Impact: better displaying of flags in trace output ]

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
include/linux/ftrace_event.h
include/trace/ftrace.h
kernel/trace/trace_output.c