diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-07-09 11:24:26 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-07-10 19:33:00 +0200 |
commit | f9f868dbcca961ed62f1df1d114abd0c38c47dce (patch) | |
tree | 97cf348e0d03119d9b3a0f98cd86f8c793b9d250 | |
parent | 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6 (diff) | |
download | op-kernel-dev-f9f868dbcca961ed62f1df1d114abd0c38c47dce.zip op-kernel-dev-f9f868dbcca961ed62f1df1d114abd0c38c47dce.tar.gz |
timer stats: fix quick check optimization
git commit 507e1231 "timer stats: Optimize by adding quick check to
avoid function calls" added one wrong check so that one unnecessary
function call isn't elimated.
time_stats_account_hrtimer() checks if timer->start_pid isn't
initialized in order to find out if timer_stats_update_stats() should
be called. However start_pid is initialized with -1 instead of 0, so
that the function call always happens.
Check timer->start_site like in timer_stats_account_timer() to fix
this.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | include/linux/hrtimer.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 54648e6..4759917 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -448,7 +448,7 @@ extern void timer_stats_update_stats(void *timer, pid_t pid, void *startf, static inline void timer_stats_account_hrtimer(struct hrtimer *timer) { - if (likely(!timer->start_pid)) + if (likely(!timer->start_site)) return; timer_stats_update_stats(timer, timer->start_pid, timer->start_site, timer->function, timer->start_comm, 0); |