• Namhyung Kim's avatar
    perf sched timehist: Show callchains for idle stat · ba957ebb
    Namhyung Kim authored
    When --idle-hist option is used with --summary, it now shows idle stats
    with callchains like below:
    
      Idle stats by callchain:
      CPU  0:   902.195 msec
      Idle time (msec)    Count Callchains
      ----------------  ------- --------------------------------------------------
               370.589       69 futex_wait_queue_me <- futex_wait <- do_futex <- sys_futex <- entry_SYSCALL_64_fastpath
               178.799       17 worker_thread <- kthread <- ret_from_fork
               128.352       17 schedule_timeout <- rcu_gp_kthread <- kthread <- ret_from_fork
               125.111       19 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- poll_schedule_timeout <- do_select <- core_sys_select
                71.599       50 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- poll_schedule_timeout <- do_sys_poll <- sys_poll
                23.146        1 rcu_gp_kthread <- kthread <- ret_from_fork
                 4.510        1 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- ep_poll <- sys_epoll_wait <- do_syscall_64
                 0.085        1 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- poll_schedule_timeout <- do_sys_poll <- do_restart_poll
      ...
    
    Committer notes:
    
    Extra testing:
    
      # uname -a
      Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    
    1) Run 'perf sched record -g'
    
    2) Run 'perf sched timehist --idle --summary'
    
    <SNIP>
      Idle stats by callchain:
      CPU  0: 13456.840 msec
      Idle time (msec) Count Callchains
      ---------------- ----- --------------------------------------------------
              5386.637  3283 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- poll_schedule_timeout <- do_sys_poll <- sys_poll
              2750.238  2299 futex_wait_queue_me <- futex_wait <- do_futex <- sys_futex <- do_syscall_64
              1275.672  1287 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- ep_poll <- sys_epoll_wait <- entry_SYSCALL_64_fastpath
               936.322   452 worker_thread <- kthread <- ret_from_fork
               741.311   385 rcu_nocb_kthread <- kthread <- ret_from_fork
               729.385   248 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- poll_schedule_timeout <- do_sys_poll <- sys_ppoll
               365.386   229 irq_thread <- kthread <- ret_from_fork
               338.934   265 futex_wait_queue_me <- futex_wait <- do_futex <- sys_futex <- entry_SYSCALL_64_fastpath
               219.488   201 schedule_timeout <- rcu_gp_kthread <- kthread <- ret_from_fork
               186.839   410 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- ep_poll <- sys_epoll_wait <- do_syscall_64
               142.541    59 kvm_vcpu_block <- kvm_arch_vcpu_ioctl_run <- kvm_vcpu_ioctl <- do_vfs_ioctl <- sys_ioctl
                83.887    92 smpboot_thread_fn <- kthread <- ret_from_fork
                62.722    96 do_exit <- do_group_exit <- 0x2a5594 <- entry_SYSCALL_64_fastpath
                47.894    83 pipe_wait <- pipe_read <- __vfs_read <- vfs_read <- sys_read
                46.554    61 rcu_gp_kthread <- kthread <- ret_from_fork
                34.337    21 schedule_timeout <- intel_fbc_work_fn <- process_one_work <- worker_thread <- kthread
                29.521    14 schedule_hrtimeout_range_clock <- schedule_hrtimeout_range <- poll_schedule_timeout <- do_select <- core_sys_select
                20.274    10 schedule_timeout <- io_schedule_timeout <- bit_wait_io <- __wait_on_bit <- out_of_line_wait_on_bit
                15.085    55 schedule_timeout <- unix_stream_read_generic <- unix_stream_recvmsg <- sock_recvmsg <- SYSC_recvfrom
    <SNIP>
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20161208144755.16673-7-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    ba957ebb
builtin-sched.c 82.1 KB