• Yang Jihong's avatar
    perf sched timehist: Add --show-prio option · 3fcd7409
    Yang Jihong authored
    The --show-prio option is used to display the priority of task.
    
    It is disabled by default, which is consistent with original behavior.
    
    The display format is xxx (priority does not change during task running)
    or xxx->yyy (priority changes during task running)
    
    Testcase:
    
      # perf sched record nice -n 9 true
      [ perf record: Woken up 0 times to write data ]
      [ perf record: Captured and wrote 0.497 MB perf.data ]
    
      # perf sched timehist -h
    
       Usage: perf sched timehist [<options>]
    
          -C, --cpu <cpu>       list of cpus to profile
          -D, --dump-raw-trace  dump raw trace in ASCII
          -f, --force           don't complain, do it
          -g, --call-graph      Display call chains if present (default on)
          -I, --idle-hist       Show idle events only
          -i, --input <file>    input file name
          -k, --vmlinux <file>  vmlinux pathname
          -M, --migrations      Show migration events
          -n, --next            Show next task
          -p, --pid <pid[,pid...]>
                                analyze events only for given process id(s)
          -s, --summary         Show only syscall summary with statistics
          -S, --with-summary    Show all syscalls and summary with statistics
          -t, --tid <tid[,tid...]>
                                analyze events only for given thread id(s)
          -V, --cpu-visual      Add CPU visual
          -v, --verbose         be more verbose (show symbol address, etc)
          -w, --wakeups         Show wakeup events
              --kallsyms <file>
                                kallsyms pathname
              --max-stack <n>   Maximum number of functions to display backtrace.
              --show-prio       Show task priority
              --state           Show task state when sched-out
              --symfs <directory>
                                Look for files with symbols relative to this directory
              --time <str>      Time span for analysis (start,stop)
    
      # perf sched timehist
      Samples of sched_switch event do not have callchains.
                 time    cpu  task name                       wait time  sch delay   run time
                              [tid/pid]                          (msec)     (msec)     (msec)
      --------------- ------  ------------------------------  ---------  ---------  ---------
         23952.006537 [0000]  perf[534]                           0.000      0.000      0.000
         23952.006593 [0000]  migration/0[19]                     0.000      0.014      0.056
         23952.006899 [0001]  perf[534]                           0.000      0.000      0.000
         23952.006947 [0001]  migration/1[22]                     0.000      0.015      0.047
         23952.007138 [0002]  perf[534]                           0.000      0.000      0.000
      <SNIP>
    
      # perf sched timehist --show-prio
      Samples of sched_switch event do not have callchains.
                 time    cpu  task name                       prio      wait time  sch delay   run time
                              [tid/pid]                                    (msec)     (msec)     (msec)
      --------------- ------  ------------------------------  --------  ---------  ---------  ---------
         23952.006537 [0000]  perf[534]                       120           0.000      0.000      0.000
         23952.006593 [0000]  migration/0[19]                 0             0.000      0.014      0.056
         23952.006899 [0001]  perf[534]                       120           0.000      0.000      0.000
      <SNIP>
         23952.034843 [0003]  nice[535]                       120->129      0.189      0.024     23.314
      <SNIP>
         23952.053838 [0005]  rcu_preempt[16]                 120           3.993      0.000      0.023
         23952.053990 [0005]  <idle>                          120           0.023      0.023      0.152
         23952.054137 [0006]  <idle>                          120           1.427      1.427     17.855
         23952.054278 [0007]  <idle>                          120           0.506      0.506      1.650
    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: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20240819033016.2427235-2-yangjihong@bytedance.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3fcd7409
perf-sched.txt 6.92 KB