Re: [PATCH 1/3] tracing: add __print_flags for events

From: Christoph Hellwig
Date: Mon May 18 2009 - 13:39:09 EST


On Fri, May 15, 2009 at 05:03:43PM -0400, Steven Rostedt wrote:
> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> 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.
>
> I included 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.
>
> I also included 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.

Looks good to me.

Some small comments:

- __print_flags might be a little to generic. What about trace_print_flags?
- some documentation would help. I can submit a patch to the
trave_events sample module to make use of it once this patch is
merged.
- Maybe passing an array instead of a list of flag/value pairs would be
a tad cleaner? That would get rid of all the varargs mess and allow
to declare that array next to the flags so get less easily out of
sync.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/