Messages in this thread | | | From | Namhyung Kim <> | Date | Fri, 24 Mar 2023 18:39:25 -0700 | Subject | Re: [PATCH] perf ftrace: Make system wide the default target for latency subcommand |
| |
Hello,
On Thu, Mar 23, 2023 at 8:29 PM Yang Jihong <yangjihong1@huawei.com> 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. :)
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@huawei.com> > --- > 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 >
| |