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
..
2007-02-16 08:13:56 -08:00
2007-02-11 10:51:20 -08:00
2007-02-16 08:13:59 -08:00
2006-01-03 11:35:26 +01:00
2006-12-08 08:28:42 -08:00
2006-12-07 08:39:27 -08:00
2006-09-11 13:32:30 -04:00
2007-02-11 10:51:34 -08:00
2006-12-08 08:28:46 -08:00
2007-02-12 09:48:32 -08:00
2007-02-11 10:51:32 -08:00
2006-12-07 08:39:46 -08:00
2007-02-11 10:51:19 -08:00
2007-02-12 09:48:46 -08:00
2006-12-07 08:39:25 -08:00
2006-12-07 08:39:46 -08:00
2006-06-30 19:25:36 +02:00
2007-02-12 09:48:32 -08:00
2006-05-15 11:20:55 -07:00
2007-02-16 08:13:58 -08:00
2006-10-10 15:37:22 -07:00
2007-02-16 08:13:58 -08:00
2007-02-16 08:13:59 -08:00
2007-02-16 08:13:59 -08:00
2006-12-08 08:28:37 -08:00
2006-12-07 08:39:36 -08:00
2006-12-07 15:39:22 -08:00
2007-02-11 10:51:32 -08:00
2007-02-13 13:26:23 +01:00
2007-01-30 16:01:35 -08:00
2006-06-30 19:25:36 +02:00
2007-02-11 10:51:32 -08:00
2006-12-04 02:00:22 -05:00
2006-12-07 08:39:43 -08:00
2007-02-14 08:09:54 -08:00
2007-02-11 10:51:26 -08:00
2007-02-14 08:09:58 -08:00
2007-02-07 10:37:12 -08:00
2007-02-14 08:09:54 -08:00
2006-07-03 15:27:01 -07:00
2006-12-08 08:28:39 -08:00
2006-07-03 15:27:04 -07:00
2007-01-30 13:35:18 -08:00
2007-02-11 10:51:29 -08:00
2007-02-07 10:37:12 -08:00
2007-01-30 13:40:36 -08:00
2006-10-17 08:18:43 -07:00
2007-02-16 08:13:59 -08:00
2007-02-11 11:18:06 -08:00
2007-02-11 10:51:32 -08:00
2006-09-29 09:18:12 -07:00
2006-12-07 08:39:40 -08:00
2006-12-30 10:55:55 -08:00
2007-02-11 10:51:32 -08:00
2007-02-14 08:09:54 -08:00
2006-06-27 17:32:47 -07:00
2006-10-04 03:38:54 -04:00
2006-07-03 15:27:01 -07:00
2006-12-07 08:39:27 -08:00
2007-02-16 08:13:58 -08:00
2006-07-03 15:27:01 -07:00
2006-07-03 15:27:04 -07:00
2007-02-13 13:26:21 +01:00
2007-02-16 08:13:59 -08:00
2007-02-16 08:13:59 -08:00
2006-09-29 09:18:14 -07:00
2006-11-25 13:28:34 -08:00
2006-10-04 07:55:30 -07:00
2006-07-03 15:27:02 -07:00
2006-09-29 09:18:24 -07:00
2006-11-03 12:27:59 -08:00
2007-02-12 09:48:32 -08:00
2007-02-14 08:10:00 -08:00
2006-12-07 08:39:34 -08:00
2007-02-16 08:13:56 -08:00
2007-02-16 08:13:59 -08:00
2006-12-10 09:55:41 -08:00
2006-04-19 16:27:18 -07:00
2006-12-07 08:39:25 -08:00
2007-02-14 08:09:59 -08:00
2006-10-02 07:57:22 -07:00
2006-07-10 13:24:25 -07:00
2007-02-16 08:13:59 -08:00