ftrace: fix updating of ftrace_update_cnt
PATCH 1/1 ftrace: fix updating of ftrace_update_cnt
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.
---
fix updating of ftrace_update_cnt
kernel/trace/ftrace.c +5 -3
@@ -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++; } }
Quoted 5 lines · Abhishek Sagar
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 <[email protected]>
-- Steve
Quoted 6 lines · Abhishek Sagar
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.
Good catch. Applied, thanks
tglx