Re: [PATCH 0/6] Support ftrace on NDS32 architecture

From: Greentime Hu
Date: Tue Aug 21 2018 - 03:04:01 EST


Zong Li <zong@xxxxxxxxxxxxx> æ 2018å8æ15æ éä äå5:35åéï
>
> This patch set implements the ftrace function and function graph tracer
> on NDS32 architecture. We try to use C code to do everything, so we don't
> need to separate the implementation to assembly code and C code, we just
> need one ftrace.c file.
>
> In mcount function, we use the prologue/epilogue which generated by compiler
> to help us to save/restore the status. On the other hand, we use naked
> attribute of gcc to avoid to generate the prologue/epilogue when we don't
> need it(such as ftrace_stub and return_to_handler).
>
> We pass the following tests:
>
> 1. FTRACE_STARTUP_TEST: PASS
>
> 2. tools/testing/selftests/ftrace/:
> # of passed: 28
> # of failed: 1
> # of unresolved: 0
> # of untested: 0
> # of unsupported: 38
> # of xfailed: 0
> # of undefined(test bug): 0
>
> The failed case is func-filter-glob.tc.
> When setting the '*aw*lock' to the set_ftrace_filter in this test case,
> we got the error because we have no these functions such as _raw_spin_lock,
> _raw_spin_trylock and so on in our kernel.
>
> Zong Li (6):
> nds32/ftrace: Support static function tracer
> nds32/ftrace: Support static function graph tracer
> nds32/ftrace: Add RECORD_MCOUNT support
> nds32/ftrace: Support dynamic function tracer
> nds32/ftrace: Support dynamic function graph tracer
> nds32/stack: Get real return address by using ftrace_graph_ret_addr
>
> arch/nds32/Kconfig | 4 +
> arch/nds32/Makefile | 4 +
> arch/nds32/include/asm/ftrace.h | 46 +++++++
> arch/nds32/kernel/Makefile | 6 +
> arch/nds32/kernel/ftrace.c | 297 ++++++++++++++++++++++++++++++++++++++++
> arch/nds32/kernel/stacktrace.c | 4 +
> arch/nds32/kernel/traps.c | 30 +---
> scripts/recordmcount.pl | 3 +
> 8 files changed, 370 insertions(+), 24 deletions(-)
> create mode 100644 arch/nds32/include/asm/ftrace.h
> create mode 100644 arch/nds32/kernel/ftrace.c

Acked-by: Greentime Hu <greentime@xxxxxxxxxxxxx>