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

From: Steven Rostedt
Date: Tue Nov 18 2008 - 09:36:20 EST



On Sat, 15 Nov 2008, walimis 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.

A lot of the code for seq files I cut and paste from other places that I
have written it. The seq files always confuse me, so I like to use stuff
that worked before. Some of the things that walimis fixed were not needed
for this file, and was overkill.

>
> another little fix is to show correct allocating pages count.

Ack.

>
> Signed-off-by: walimis <walimisdev@xxxxxxxxx>

Acked-by: Steven Rostedt <srostedt@xxxxxxxxxx>

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