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

From: Ingo Molnar
Date: Sun Nov 16 2008 - 02:34:25 EST



* 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?

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