From: Minfei Huang <mnfhu...@gmail.com>

Now, ftrace only calculate the dyn_ftrace number in the adding
breakpoint loop, not in adding update and finish update loop.

Calculate the correct dyn_ftrace, once ftrace reports the failure message
to the userspace.

Signed-off-by: Minfei Huang <mnfhu...@gmail.com>
---
 arch/x86/kernel/ftrace.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 8b7b0a5..311bcf3 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -556,6 +556,7 @@ void ftrace_replace_code(int enable)
        run_sync();
 
        report = "updating code";
+       count = 0;
 
        for_ftrace_rec_iter(iter) {
                rec = ftrace_rec_iter_record(iter);
@@ -563,11 +564,13 @@ void ftrace_replace_code(int enable)
                ret = add_update(rec, enable);
                if (ret)
                        goto remove_breakpoints;
+               count++;
        }
 
        run_sync();
 
        report = "removing breakpoints";
+       count = 0;
 
        for_ftrace_rec_iter(iter) {
                rec = ftrace_rec_iter_record(iter);
@@ -575,6 +578,7 @@ void ftrace_replace_code(int enable)
                ret = finish_update(rec, enable);
                if (ret)
                        goto remove_breakpoints;
+               count++;
        }
 
        run_sync();
-- 
2.4.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to