aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVenki Pallipadi <venkatesh.pallipadi@intel.com>2007-07-16 02:40:30 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 12:05:45 -0400
commitc5c061b8f9726bc2c25e19dec227933a13d1e6b7 (patch)
treee99f68f70df1a01dd383007895befd114a1da8c4 /include
parente0807061908a7a9441d0f745deb444f7216904cb (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.h5
-rw-r--r--include/linux/timer.h15
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
331extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, 331extern 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
334static inline void timer_stats_account_hrtimer(struct hrtimer *timer) 335static 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
340extern void __timer_stats_hrtimer_set_start_info(struct hrtimer *timer, 341extern 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
93extern void init_timer_stats(void); 95extern void init_timer_stats(void);
94 96
95extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, 97extern 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);
98static 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
104extern void __timer_stats_timer_set_start_info(struct timer_list *timer, 101extern 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
121static inline void timer_stats_account_timer(struct timer_list *timer)
122{
123}
124
125static inline void timer_stats_timer_set_start_info(struct timer_list *timer) 118static inline void timer_stats_timer_set_start_info(struct timer_list *timer)
126{ 119{
127} 120}