Re: [PATCH 12/14] perf ftrace: Use pager for displaying result

From: Jiri Olsa
Date: Wed Apr 24 2013 - 10:18:16 EST


On Tue, Apr 23, 2013 at 05:31:10PM +0900, Namhyung Kim wrote:
> From: Namhyung Kim <namhyung.kim@xxxxxxx>
>
> It's convenient to use pager when seeing many lines of result.
>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/builtin-ftrace.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
> index 97293cee5597..f4efa1475cf9 100644
> --- a/tools/perf/builtin-ftrace.c
> +++ b/tools/perf/builtin-ftrace.c
> @@ -188,6 +188,7 @@ static int do_ftrace_live(struct perf_ftrace *ftrace)
> signal(SIGINT, sig_handler);
> signal(SIGUSR1, sig_handler);
> signal(SIGCHLD, sig_handler);
> + signal(SIGPIPE, sig_handler);
>
> if (setup_tracing_files(ftrace) < 0)
> goto out_reset;
> @@ -1461,6 +1462,8 @@ __cmd_ftrace_live(struct perf_ftrace *ftrace, int argc, const char **argv)
> argv, false, true) < 0)
> goto out_maps;
>
> + setup_pager();
> +
> ret = do_ftrace_live(ftrace);
>
> out_maps:
> @@ -1582,6 +1585,8 @@ __cmd_ftrace_show(struct perf_ftrace *ftrace, int argc, const char **argv)
> if (ftrace->dirname == NULL)
> ftrace->dirname = DEFAULT_DIRNAME;
>
> + setup_pager();
> +
> ret = do_ftrace_show(ftrace);
>
> perf_evlist__delete_maps(ftrace->evlist);
> @@ -1643,6 +1648,7 @@ __cmd_ftrace_report(struct perf_ftrace *ftrace, int argc, const char **argv)
> perf_hpp__column_enable(PERF_HPP__OVERHEAD);
> perf_hpp__init();
>
> + setup_pager();
> setup_sorting();
>
> symbol_conf.exclude_other = false;
> --
> 1.7.11.7
>

for some reason I'm able to get any output for 'live' command only
when using --no-pager option. I dont get any data for:

# ./perf ftrace live ls

not even ls output

But sometime I dont even get ftrace output for:

# ./perf --no-pager ftrace live ls

just ls output


I wonder there's some race with reading trace_pipe file,
I haven't checked deeply yet..

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