• Yang Jihong's avatar
    perf sched timehist: Skip print non-idle task samples when only show idle events · 575eec21
    Yang Jihong authored
    when only show idle events, runtime stats of non-idle tasks is not updated,
    and the value is 0, there is no need to print non-idle samples.
    
    Before:
    
      # perf sched timehist -I
      Samples of sched_switch event do not have callchains.
                 time    cpu  task name                       wait time  sch delay   run time
                              [tid/pid]                          (msec)     (msec)     (msec)
      --------------- ------  ------------------------------  ---------  ---------  ---------
       2090450.763235 [0000]  migration/0[15]                     0.000      0.000      0.000
       2090450.763268 [0001]  migration/1[21]                     0.000      0.000      0.000
       2090450.763309 [0002]  migration/2[27]                     0.000      0.000      0.000
       2090450.763343 [0003]  migration/3[33]                     0.000      0.000      0.000
       2090450.763469 [0004]  migration/4[39]                     0.000      0.000      0.000
       2090450.763501 [0005]  migration/5[45]                     0.000      0.000      0.000
       2090450.763622 [0006]  migration/6[51]                     0.000      0.000      0.000
       2090450.763660 [0007]  migration/7[57]                     0.000      0.000      0.000
       2090450.763741 [0009]  migration/9[69]                     0.000      0.000      0.000
       2090450.763862 [0010]  migration/10[75]                    0.000      0.000      0.000
       2090450.763894 [0011]  migration/11[81]                    0.000      0.000      0.000
       2090450.764021 [0012]  migration/12[87]                    0.000      0.000      0.000
       2090450.764056 [0013]  migration/13[93]                    0.000      0.000      0.000
       2090450.764135 [0014]  migration/14[99]                    0.000      0.000      0.000
       2090450.764163 [0015]  migration/15[105]                   0.000      0.000      0.000
       2090450.764292 [0016]  migration/16[111]                   0.000      0.000      0.000
       2090450.764371 [0017]  migration/17[117]                   0.000      0.000      0.000
       2090450.764422 [0018]  migration/18[123]                   0.000      0.000      0.000
       2090450.764490 [0000]  <idle>                              0.000      0.000      1.255
       2090450.764505 [0000]  s1-perf[8235/7168]                  0.000      0.000      0.000
       2090450.764571 [0016]  <idle>                              0.000      0.000      0.278
       2090450.764588 [0010]  <idle>                              0.000      0.000      0.725
       2090450.764590 [0016]  s1-agent[7179/7162]                 0.000      0.000      0.000
       2090450.764635 [0000]  <idle>                              0.015      0.015      0.129
       2090450.764637 [0017]  <idle>                              0.000      0.000      0.266
       2090450.764639 [0000]  s1-perf[8235/7168]                  0.000      0.000      0.000
       2090450.764668 [0017]  s1-agent[7180/7162]                 0.000      0.000      0.000
       2090450.764669 [0000]  <idle>                              0.003      0.003      0.029
       2090450.764672 [0000]  s1-perf[8235/7168]                  0.000      0.000      0.000
       2090450.764683 [0000]  <idle>                              0.003      0.003      0.010
    
    After:
    
      # perf sched timehist -I
      Samples of sched_switch event do not have callchains.
                 time    cpu  task name                       wait time  sch delay   run time
                              [tid/pid]                          (msec)     (msec)     (msec)
      --------------- ------  ------------------------------  ---------  ---------  ---------
       2090450.764490 [0000]  <idle>                              0.000      0.000      1.255
       2090450.764571 [0016]  <idle>                              0.000      0.000      0.278
       2090450.764588 [0010]  <idle>                              0.000      0.000      0.725
       2090450.764635 [0000]  <idle>                              0.015      0.015      0.129
       2090450.764637 [0017]  <idle>                              0.000      0.000      0.266
       2090450.764669 [0000]  <idle>                              0.003      0.003      0.029
       2090450.764683 [0000]  <idle>                              0.003      0.003      0.010
       2090450.764688 [0016]  <idle>                              0.019      0.019      0.097
       2090450.764694 [0000]  <idle>                              0.001      0.001      0.009
       2090450.764706 [0000]  <idle>                              0.001      0.001      0.010
       2090450.764725 [0002]  <idle>                              0.000      0.000      1.415
       2090450.764728 [0000]  <idle>                              0.002      0.002      0.019
       2090450.764823 [0000]  <idle>                              0.003      0.003      0.091
       2090450.764838 [0019]  <idle>                              0.000      0.000      0.154
       2090450.764865 [0002]  <idle>                              0.109      0.109      0.029
       2090450.764866 [0000]  <idle>                              0.012      0.012      0.030
       2090450.764880 [0002]  <idle>                              0.013      0.013      0.001
       2090450.764880 [0000]  <idle>                              0.002      0.002      0.011
       2090450.764896 [0000]  <idle>                              0.001      0.001      0.013
       2090450.764903 [0019]  <idle>                              0.063      0.063      0.002
       2090450.764908 [0019]  <idle>                              0.003      0.003      0.001
    
    Fixes: 07235f84 ("perf sched timehist: Add -I/--idle-hist option")
    Signed-off-by: default avatarYang Jihong <yangjihong@bytedance.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20240812132606.3126490-1-yangjihong@bytedance.comReviewed-and-tested-by: default avatarMadadi Vineeth Reddy <vineethr@linux.ibm.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    575eec21
builtin-sched.c 95.9 KB