[PATCH] ftrace: fix updating of ftrace_update_cnt

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Abhishek Sagar
Date: Saturday, May 24, 2008 - 11:40 am

Hi Ingo/Steven,

Ftrace currently maintains an update count which includes false updates, i.e, updates which failed. If anything, such failures should be tracked by some separate variable, but this patch provides a minimal fix.

Signed-off-by: Abhishek Sagar <sagar.abhishek@gmail.com>
---
fix updating of ftrace_update_cnt

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index bfba25c..14e086f 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -443,7 +443,7 @@ static void ftrace_shutdown_replenish(void)
 	ftrace_pages->next = (void *)get_zeroed_page(GFP_KERNEL);
 }
 
-static void
+static int
 ftrace_code_disable(struct dyn_ftrace *rec)
 {
 	unsigned long ip;
@@ -459,7 +459,9 @@ ftrace_code_disable(struct dyn_ftrace *rec)
 	if (failed) {
 		rec->flags |= FTRACE_FL_FAILED;
 		ftrace_free_rec(rec);
+		return 0;
 	}
+	return 1;
 }
 
 static int __ftrace_modify_code(void *data)
@@ -607,8 +609,8 @@ static int __ftrace_update_code(void *ignore)
 
 		/* all CPUS are stopped, we are safe to modify code */
 		hlist_for_each_entry(p, t, &head, node) {
-			ftrace_code_disable(p);
-			ftrace_update_cnt++;
+			if (ftrace_code_disable(p))
+				ftrace_update_cnt++;
 		}
 
 	}
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] ftrace: fix updating of ftrace_update_cnt, Abhishek Sagar, (Sat May 24, 11:40 am)
Re: [PATCH] ftrace: fix updating of ftrace_update_cnt, Steven Rostedt, (Sat May 24, 5:46 pm)
Re: [PATCH] ftrace: fix updating of ftrace_update_cnt, Thomas Gleixner, (Tue May 27, 8:43 am)