linux/kernel/time
Ingo Molnar 82f67cd9fc [PATCH] Add debugging feature /proc/timer_stat
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: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas 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: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-16 08:13:59 -08:00
..
clockevents.c [PATCH] clockevents: add core functionality 2007-02-16 08:13:59 -08:00
clocksource.c [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
jiffies.c [PATCH] clocksource: replace is_continuous by a flag field 2007-02-16 08:13:57 -08:00
Kconfig [PATCH] hrtimers: add high resolution timer support 2007-02-16 08:13:59 -08:00
Makefile [PATCH] Add debugging feature /proc/timer_stat 2007-02-16 08:13:59 -08:00
ntp.c [PATCH] HZ free ntp 2007-02-16 08:13:56 -08:00
tick-broadcast.c [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
tick-common.c [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
tick-internal.h [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
tick-oneshot.c [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
tick-sched.c [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
timer_stats.c [PATCH] Add debugging feature /proc/timer_stat 2007-02-16 08:13:59 -08:00