• Ingo Molnar's avatar
    [PATCH] Add debugging feature /proc/timer_stat · 82f67cd9
    Ingo Molnar authored
    Add /proc/timer_stats support: debugging feature to profile timer expiration.
    Both the starting site, process/PID and the expiration function is captured.
    This allows the quick identification of timer event sources in a system.
    
    Sample output:
    
    # echo 1 > /proc/timer_stats
    # cat /proc/timer_stats
    Timer Stats Version: v0.1
    Sample period: 4.010 s
      24,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)
      11,     0 swapper          sk_reset_timer (tcp_delack_timer)
       6,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)
       2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)
      17,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)
       2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)
       4,  2050 pcscd            do_nanosleep (hrtimer_wakeup)
       5,  4179 sshd             sk_reset_timer (tcp_write_timer)
       4,  2248 yum-updatesd     schedule_timeout (process_timeout)
      18,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)
       3,     0 swapper          sk_reset_timer (tcp_delack_timer)
       1,     1 swapper          neigh_table_init_no_netlink (neigh_periodic_timer)
       2,     1 swapper          e1000_up (e1000_watchdog)
       1,     1 init             schedule_timeout (process_timeout)
    100 total events, 25.24 events/sec
    
    [ cleanups and hrtimers support from Thomas Gleixner <tglx@linutronix.de> ]
    [bunk@stusta.de: nr_entries can become static]
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: john stultz <johnstul@us.ibm.com>
    Cc: Roman Zippel <zippel@linux-m68k.org>
    Cc: Andi Kleen <ak@suse.de>
    Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    82f67cd9
timer_stats.c 9.44 KB