sh/ftrace: Move arch_ftrace_nmi_{enter,exit} into nmi exception

SuperH is the last remaining user of arch_ftrace_nmi_{enter,exit}(),
remove it from the generic code and into the SuperH code.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Rich Felker <dalias@libc.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: https://lkml.kernel.org/r/20200505134101.248881738@linutronix.de
This commit is contained in:
Peter Zijlstra 2020-02-24 22:26:21 +01:00 коммит произвёл Thomas Gleixner
Родитель e616cb8daa
Коммит 178ba00c35
5 изменённых файлов: 12 добавлений и 30 удалений

Просмотреть файл

@ -229,14 +229,6 @@ Adding support for it is easy: just define the macro in asm/ftrace.h and
pass the return address pointer as the 'retp' argument to pass the return address pointer as the 'retp' argument to
ftrace_push_return_trace(). ftrace_push_return_trace().
HAVE_FTRACE_NMI_ENTER
---------------------
If you can't trace NMI functions, then skip this option.
<details to be filled>
HAVE_SYSCALL_TRACEPOINTS HAVE_SYSCALL_TRACEPOINTS
------------------------ ------------------------

Просмотреть файл

@ -71,7 +71,6 @@ config SUPERH32
select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACER
select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_DYNAMIC_FTRACE select HAVE_DYNAMIC_FTRACE
select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IPC_PARSE_VERSION
select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_ARCH_KGDB select HAVE_ARCH_KGDB

Просмотреть файл

@ -170,11 +170,21 @@ BUILD_TRAP_HANDLER(bug)
force_sig(SIGTRAP); force_sig(SIGTRAP);
} }
#ifdef CONFIG_DYNAMIC_FTRACE
extern void arch_ftrace_nmi_enter(void);
extern void arch_ftrace_nmi_exit(void);
#else
static inline void arch_ftrace_nmi_enter(void) { }
static inline void arch_ftrace_nmi_exit(void) { }
#endif
BUILD_TRAP_HANDLER(nmi) BUILD_TRAP_HANDLER(nmi)
{ {
unsigned int cpu = smp_processor_id(); unsigned int cpu = smp_processor_id();
TRAP_HANDLER_DECL; TRAP_HANDLER_DECL;
arch_ftrace_nmi_enter();
nmi_enter(); nmi_enter();
nmi_count(cpu)++; nmi_count(cpu)++;
@ -190,4 +200,6 @@ BUILD_TRAP_HANDLER(nmi)
} }
nmi_exit(); nmi_exit();
arch_ftrace_nmi_exit();
} }

Просмотреть файл

@ -2,15 +2,6 @@
#ifndef _LINUX_FTRACE_IRQ_H #ifndef _LINUX_FTRACE_IRQ_H
#define _LINUX_FTRACE_IRQ_H #define _LINUX_FTRACE_IRQ_H
#ifdef CONFIG_FTRACE_NMI_ENTER
extern void arch_ftrace_nmi_enter(void);
extern void arch_ftrace_nmi_exit(void);
#else
static inline void arch_ftrace_nmi_enter(void) { }
static inline void arch_ftrace_nmi_exit(void) { }
#endif
#ifdef CONFIG_HWLAT_TRACER #ifdef CONFIG_HWLAT_TRACER
extern bool trace_hwlat_callback_enabled; extern bool trace_hwlat_callback_enabled;
extern void trace_hwlat_callback(bool enter); extern void trace_hwlat_callback(bool enter);
@ -22,12 +13,10 @@ static inline void ftrace_nmi_enter(void)
if (trace_hwlat_callback_enabled) if (trace_hwlat_callback_enabled)
trace_hwlat_callback(true); trace_hwlat_callback(true);
#endif #endif
arch_ftrace_nmi_enter();
} }
static inline void ftrace_nmi_exit(void) static inline void ftrace_nmi_exit(void)
{ {
arch_ftrace_nmi_exit();
#ifdef CONFIG_HWLAT_TRACER #ifdef CONFIG_HWLAT_TRACER
if (trace_hwlat_callback_enabled) if (trace_hwlat_callback_enabled)
trace_hwlat_callback(false); trace_hwlat_callback(false);

Просмотреть файл

@ -10,11 +10,6 @@ config USER_STACKTRACE_SUPPORT
config NOP_TRACER config NOP_TRACER
bool bool
config HAVE_FTRACE_NMI_ENTER
bool
help
See Documentation/trace/ftrace-design.rst
config HAVE_FUNCTION_TRACER config HAVE_FUNCTION_TRACER
bool bool
help help
@ -72,11 +67,6 @@ config RING_BUFFER
select TRACE_CLOCK select TRACE_CLOCK
select IRQ_WORK select IRQ_WORK
config FTRACE_NMI_ENTER
bool
depends on HAVE_FTRACE_NMI_ENTER
default y
config EVENT_TRACING config EVENT_TRACING
select CONTEXT_SWITCH_TRACER select CONTEXT_SWITCH_TRACER
select GLOB select GLOB