diff options
author | Venki Pallipadi <venkatesh.pallipadi@intel.com> | 2007-07-16 02:40:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:45 -0400 |
commit | c5c061b8f9726bc2c25e19dec227933a13d1e6b7 (patch) | |
tree | e99f68f70df1a01dd383007895befd114a1da8c4 /include | |
parent | e0807061908a7a9441d0f745deb444f7216904cb (diff) |
Add a flag to indicate deferrable timers in /proc/timer_stats
Add a flag in /proc/timer_stats to indicate deferrable timers. This will
let developers/users to differentiate between types of tiemrs in
/proc/timer_stats.
Deferrable timer and normal timer will appear in /proc/timer_stats as below.
10D, 1 swapper queue_delayed_work_on (delayed_work_timer_fn)
10, 1 swapper queue_delayed_work_on (delayed_work_timer_fn)
Also version of timer_stats changes from v0.1 to v0.2
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/hrtimer.h | 5 | ||||
-rw-r--r-- | include/linux/timer.h | 15 |
2 files changed, 7 insertions, 13 deletions
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 17c29dca8354..540799bc85f8 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -329,12 +329,13 @@ extern void sysrq_timer_list_show(void); | |||
329 | #ifdef CONFIG_TIMER_STATS | 329 | #ifdef CONFIG_TIMER_STATS |
330 | 330 | ||
331 | extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, | 331 | extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, |
332 | void *timerf, char * comm); | 332 | void *timerf, char *comm, |
333 | unsigned int timer_flag); | ||
333 | 334 | ||
334 | static inline void timer_stats_account_hrtimer(struct hrtimer *timer) | 335 | static inline void timer_stats_account_hrtimer(struct hrtimer *timer) |
335 | { | 336 | { |
336 | timer_stats_update_stats(timer, timer->start_pid, timer->start_site, | 337 | timer_stats_update_stats(timer, timer->start_pid, timer->start_site, |
337 | timer->function, timer->start_comm); | 338 | timer->function, timer->start_comm, 0); |
338 | } | 339 | } |
339 | 340 | ||
340 | extern void __timer_stats_hrtimer_set_start_info(struct hrtimer *timer, | 341 | extern void __timer_stats_hrtimer_set_start_info(struct hrtimer *timer, |
diff --git a/include/linux/timer.h b/include/linux/timer.h index 2b59e6d4219c..78cf899b4409 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h | |||
@@ -90,16 +90,13 @@ extern unsigned long get_next_timer_interrupt(unsigned long now); | |||
90 | */ | 90 | */ |
91 | #ifdef CONFIG_TIMER_STATS | 91 | #ifdef CONFIG_TIMER_STATS |
92 | 92 | ||
93 | #define TIMER_STATS_FLAG_DEFERRABLE 0x1 | ||
94 | |||
93 | extern void init_timer_stats(void); | 95 | extern void init_timer_stats(void); |
94 | 96 | ||
95 | extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, | 97 | extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, |
96 | void *timerf, char * comm); | 98 | void *timerf, char *comm, |
97 | 99 | unsigned int timer_flag); | |
98 | static inline void timer_stats_account_timer(struct timer_list *timer) | ||
99 | { | ||
100 | timer_stats_update_stats(timer, timer->start_pid, timer->start_site, | ||
101 | timer->function, timer->start_comm); | ||
102 | } | ||
103 | 100 | ||
104 | extern void __timer_stats_timer_set_start_info(struct timer_list *timer, | 101 | extern void __timer_stats_timer_set_start_info(struct timer_list *timer, |
105 | void *addr); | 102 | void *addr); |
@@ -118,10 +115,6 @@ static inline void init_timer_stats(void) | |||
118 | { | 115 | { |
119 | } | 116 | } |
120 | 117 | ||
121 | static inline void timer_stats_account_timer(struct timer_list *timer) | ||
122 | { | ||
123 | } | ||
124 | |||
125 | static inline void timer_stats_timer_set_start_info(struct timer_list *timer) | 118 | static inline void timer_stats_timer_set_start_info(struct timer_list *timer) |
126 | { | 119 | { |
127 | } | 120 | } |