summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-07-09 11:24:26 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-07-10 19:33:00 +0200
commitf9f868dbcca961ed62f1df1d114abd0c38c47dce (patch)
tree97cf348e0d03119d9b3a0f98cd86f8c793b9d250
parent6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6 (diff)
downloadop-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.h2
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);
OpenPOWER on IntegriCloud