Re: [PATCH] tracing/events: fix a typo in __string() format output

Frederic Weisbecker
2009-05-31T14:21:22Z

On Sun, May 31, 2009 at 01:58:23PM +0800, Li Zefan wrote:
> ping..
>
> Could someone apply this patch? I have a patchset, that
> introduces __dynamic_array(), based on this fix.

I've applied it on
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git tracing/core

Since we have doubts on the strncmp -> strcmp conversion for static
string arrays. Do you think you could cut your strcmp patch in two parts:

1) fix strncmp use in __string() filters (which drops strncmp for dyn strings)
2) convert static string comparison to use strcmp()

So that I can integrate the fix from 1) and submit it to Ingo with
the fix for __str_loc format I just applied.

And then we can review 2) more carefully.

Thanks,
Frederic.

> Or I will include this fix in the patchset.
>
> Li Zefan wrote:
> > It should be '\t'. Also remove the space before "__str_loc".
> >
> > Before:
> > # cat tracing/events/irq/irq_handler_entry/format
> > ...
> > field:int irq; offset:12; size:4;
> > field: __str_loc name; offset:16;tsize:2;
> > ...
> >
> > After:
> > # cat tracing/events/irq/irq_handler_entry/format
> > ...
> > field:int irq; offset:12; size:4;
> > field:__str_loc name; offset:16; size:2;
> > ...
> >
> > [ Impact: fix the output of __string field in format file ]
> >
> > Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
> > ---
> > include/trace/ftrace.h | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
> > index edb02bc..006af4c 100644
> > --- a/include/trace/ftrace.h
> > +++ b/include/trace/ftrace.h
> > @@ -187,8 +187,8 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \
> >
> > #undef __string
> > #define __string(item, src) \
> > - ret = trace_seq_printf(s, "\tfield: __str_loc " #item ";\t" \
> > - "offset:%u;tsize:%u;\n", \
> > + ret = trace_seq_printf(s, "\tfield:__str_loc " #item ";\t" \
> > + "offset:%u;\tsize:%u;\n", \
> > (unsigned int)offsetof(typeof(field), \
> > __str_loc_##item), \
> > (unsigned int)sizeof(field.__str_loc_##item)); \
>