Messages in this thread | | | Subject | Re: [PATCH] perf ftrace: Make system wide the default target for latency subcommand | From | Yang Jihong <> | Date | Sat, 25 Mar 2023 11:29:02 +0800 |
| |
Hello,
On 2023/3/25 9:39, Namhyung Kim wrote: > 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 for the reply.
Yes, "perf ftrace latency" supports -a for system wide profiles. Because "perf ftrace trace" defaults to system wide when no target is specified. Therefore, I sent the patch to check whether "latency" is consistent with the behavior of the "trace". :)
Thanks, Yang.
> 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 >> > . >
| |