Re: [PATCH] perf ftrace: Make system wide the default target for latency subcommand
From: Arnaldo Carvalho de Melo
Date: Mon Mar 27 2023 - 07:34:43 EST
Em Fri, Mar 24, 2023 at 06:39:25PM -0700, Namhyung Kim escreveu:
> Hello,
>
> On Thu, Mar 23, 2023 at 8:29 PM Yang Jihong <yangjihong1@xxxxxxxxxx> wrote:
> >
> > If no target is specified for 'latency' subcommand, the execution fails
> > because - 1 (invalid value) is written to set_ftrace_pid tracefs file.
> > Make system wide the default target, which is the same as the default
> > behavior of 'trace' subcommand.
>
> I followed the convention to use -a for system-wide profiling.
> Not sure if it's ok to make it default, but I don't object. :)
I'll make that an Acked-by, ok?
- Arnaldo
> Thanks,
> Namhyung
>
> >
> > Before the fix:
> >
> > # perf ftrace latency -T schedule
> > failed to set ftrace pid
> >
> > After the fix:
> >
> > # perf ftrace latency -T schedule
> > ^C# DURATION | COUNT | GRAPH |
> > 0 - 1 us | 0 | |
> > 1 - 2 us | 0 | |
> > 2 - 4 us | 0 | |
> > 4 - 8 us | 2828 | #### |
> > 8 - 16 us | 23953 | ######################################## |
> > 16 - 32 us | 408 | |
> > 32 - 64 us | 318 | |
> > 64 - 128 us | 4 | |
> > 128 - 256 us | 3 | |
> > 256 - 512 us | 0 | |
> > 512 - 1024 us | 1 | |
> > 1 - 2 ms | 4 | |
> > 2 - 4 ms | 0 | |
> > 4 - 8 ms | 0 | |
> > 8 - 16 ms | 0 | |
> > 16 - 32 ms | 0 | |
> > 32 - 64 ms | 0 | |
> > 64 - 128 ms | 0 | |
> > 128 - 256 ms | 4 | |
> > 256 - 512 ms | 2 | |
> > 512 - 1024 ms | 0 | |
> > 1 - ... s | 0 | |
> >
> > Fixes: 53be50282269 ("perf ftrace: Add 'latency' subcommand")
> > Signed-off-by: Yang Jihong <yangjihong1@xxxxxxxxxx>
> > ---
> > tools/perf/builtin-ftrace.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
> > index d7fe00f66b83..fb1b66ef2e16 100644
> > --- a/tools/perf/builtin-ftrace.c
> > +++ b/tools/perf/builtin-ftrace.c
> > @@ -1228,10 +1228,12 @@ int cmd_ftrace(int argc, const char **argv)
> > goto out_delete_filters;
> > }
> >
> > + /* Make system wide (-a) the default target. */
> > + if (!argc && target__none(&ftrace.target))
> > + ftrace.target.system_wide = true;
> > +
> > switch (subcmd) {
> > case PERF_FTRACE_TRACE:
> > - if (!argc && target__none(&ftrace.target))
> > - ftrace.target.system_wide = true;
> > cmd_func = __cmd_ftrace;
> > break;
> > case PERF_FTRACE_LATENCY:
> > --
> > 2.30.GIT
> >
--
- Arnaldo