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