[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1534323834.git.zong@andestech.com>
Date: Wed, 15 Aug 2018 17:35:17 +0800
From: Zong Li <zong@...estech.com>
To: <green.hu@...il.com>, <deanbo422@...il.com>, <rostedt@...dmis.org>,
<mingo@...hat.com>, <arnd@...db.de>, <linux-kernel@...r.kernel.org>
CC: <zongbox@...il.com>, <greentime@...estech.com>,
Zong Li <zong@...estech.com>
Subject: [PATCH 0/6] Support ftrace on NDS32 architecture
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
--
2.7.4
Powered by blists - more mailing lists