Re: [PATCH 1/1] ftrace: fix wrong pos computing when read bufferhas been fulfilled.

From: Steven Rostedt
Date: Sun Nov 16 2008 - 10:02:01 EST



On Sun, 16 Nov 2008, Ingo Molnar wrote:
> * walimis <walimisdev@xxxxxxxxx> wrote:
>
> > hi Steven,
> >
> > Could you help me to review this patch?
> >
> > Thanks.
> >
> > Impact: make output of available_filter_functions complete
> >
> > phenomenon:
> >
> > The first value of dyn_ftrace_total_info is not equal with
> > `cat available_filter_functions | wc -l`, but they should be equal.
> >
> > root cause:
> >
> > When printing functions with seq_printf in t_show, if the read
> > buffer is just overflowed by current function record, then this
> > function won't be printed to user space through read buffer, it will
> > just be dropped. So we can't see this function printing. So, every
> > time the last function to fill the read buffer, if overflowed, will
> > be dropped. This also applies to set_ftrace_filter if
> > set_ftrace_filter has more bytes than read buffer.
> >
> > fix:
> >
> > Through checking return value of seq_printf, if less than 0, we know
> > this function doesn't be printed. Then we decrease position to force
> > this function to be printed next time, in next read buffer.
> >
> > another little fix is to show correct allocating pages count.
> >
> > Signed-off-by: walimis <walimisdev@xxxxxxxxx>
> > ---
> > kernel/trace/ftrace.c | 26 +++++++++++++++-----------
> > 1 files changed, 15 insertions(+), 11 deletions(-)
>
> looks sane - applied to tip/tracing/urgent. Steve, any objections?

I'm actually still reviewing it. I was busy with the PPC work, so I did
not finish my review. Weekends are family time, so my activity now is
minimal. Pull it in, and if I find any problems with it, I'll just submit
a patch on top, or have walimis fix it ;-)

-- Steve

--
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/