Re: [PATCH] perf/tools : remove default system_wide in sched record

From: Namhyung Kim
Date: Tue Oct 24 2017 - 22:23:35 EST


On Tue, Oct 24, 2017 at 10:46:44AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Oct 24, 2017 at 03:45:34PM +0800, Cheng Jian escreveu:
> > When running perf sched record, there is a bug.
> >
> > It's system_wide when we specify a command line.
>
> Humm, isn't this because if you trace just a workload you will miss the
> sched-in events?
>
> Perhaps with PERF_RECORD_SWITCH we can solve that... I.e. still get the
> sched-in events while tracing just one workload, not requiring
> system_wide like it is the case now, right?

Yes, but it will lose other task's comm, also (at least) sched-wakeup
(from other task) events are still needed.

Thanks,
Namhyung


>
> - Arnaldo
>
> > $ perf sched record ls
> > $ perf script
> > swapper 0 [001] 1312209.826144:
> > sched:sched_wakeup: crash:21979 [120] success=1 CPU:001
> > swapper 0 [001] 1312209.826148:
> > sched:sched_switch: swapper/1:0 [120] R ==> crash:21979 [120]
> > crash 21979 [001] 1312209.826151:
> > sched:sched_stat_runtime: comm=crash pid=21979
> > runtime=8161 [ns] vruntime=1591295759555 [ns]
> > crash 21979 [001] 1312209.826185:
> > sched:sched_switch: crash:21979 [120] S ==> swapper/1:0 [120]
> > ls 148873 [169] 1312209.826818:
> > sched:sched_stat_runtime: comm=ls pid=148873
> > runtime=999532 [ns] vruntime=8099789362030 [ns]
> > perf 148872 [109] 1312209.826818:
> > sched:sched_stat_runtime: comm=perf pid=148872
> > runtime=1001606 [ns] vruntime=7794318690006 [ns]
> >
> > This is because '-a'(system_wide) is set in record_args.
> > so just remove it.
> >
> > After :
> > swapper 0 [109] 1313349.767284:
> > sched:sched_wakeup: comm=perf pid=149865 prio=120 success=1 target_cpu=109
> > ls 149865 [133] 1313349.769066: sched:sched_stat_runtime:
> > comm=ls pid=149865 runtime=1001167 [ns] vruntime=7871277236086 [ns]
> > ls 149865 [133] 1313349.770062:
> > sched:sched_stat_runtime: comm=ls pid=149865
> > runtime=998985 [ns] vruntime=7871278235071 [ns]
> > ls 149865 [133] 1313349.770731:
> > sched:sched_wakeup: comm=kworker/133:2 pid=137042
> > prio=120 success=1 target_cpu=133
> >
> > Signed-off-by: Cheng Jian <cj.chengjian@xxxxxxxxxx>
> > Signed-off-by: Zhang MengTing <zhangmengting@xxxxxxxxxx>
> > ---
> > tools/perf/builtin-sched.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
> > index 322b4de..47b79fc 100644
> > --- a/tools/perf/builtin-sched.c
> > +++ b/tools/perf/builtin-sched.c
> > @@ -3248,7 +3248,6 @@ static int __cmd_record(int argc, const char **argv)
> > const char **rec_argv;
> > const char * const record_args[] = {
> > "record",
> > - "-a",
> > "-R",
> > "-m", "1024",
> > "-c", "1",
> > --
> > 1.8.3.1
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html