Messages in this thread | | | Date | Sun, 16 Nov 2008 08:33:54 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/1] ftrace: fix wrong pos computing when read buffer has been fulfilled. |
| |
* walimis <walimisdev@gmail.com> 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@gmail.com> > --- > kernel/trace/ftrace.c | 26 +++++++++++++++----------- > 1 files changed, 15 insertions(+), 11 deletions(-)
looks sane - applied to tip/tracing/urgent. Steve, any objections?
Ingo
| |