Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d6a0163 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

s390/ftrace: enforce DYNAMIC_FTRACE if FUNCTION_TRACER is selected



We have too many combinations for function tracing. Lets simply stick to
the most advanced option, so we don't have to care of other combinations.

This means we always select DYNAMIC_FTRACE if FUNCTION_TRACER is selected.

In the s390 Makefile also remove CONFIG_FTRACE_SYSCALLS since that
functionality got moved to architecture independent code in the meantime.

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 10dec7db
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -97,6 +97,7 @@ config S390
	select ARCH_WANT_IPC_PARSE_VERSION
	select BUILDTIME_EXTABLE_SORT
	select CLONE_BACKWARDS2
	select DYNAMIC_FTRACE if FUNCTION_TRACER
	select GENERIC_CLOCKEVENTS
	select GENERIC_CPU_DEVICES if !SMP
	select GENERIC_FIND_FIRST_BIT
+1 −3
Original line number Diff line number Diff line
@@ -53,9 +53,7 @@ obj-$(CONFIG_COMPAT) += compat_wrapper.o $(compat-obj-y)
obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
obj-$(CONFIG_KPROBES)		+= kprobes.o
obj-$(CONFIG_FUNCTION_TRACER)	+= $(if $(CONFIG_64BIT),mcount64.o,mcount.o)
obj-$(CONFIG_DYNAMIC_FTRACE)	+= ftrace.o
obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
obj-$(CONFIG_FTRACE_SYSCALLS)  += ftrace.o
obj-$(CONFIG_FUNCTION_TRACER)	+= ftrace.o
obj-$(CONFIG_CRASH_DUMP)	+= crash_dump.o

ifdef CONFIG_64BIT
+0 −6
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@
#include <asm/asm-offsets.h>
#include "entry.h"

#ifdef CONFIG_DYNAMIC_FTRACE

void ftrace_disable_code(void);
void ftrace_enable_insn(void);

@@ -142,8 +140,6 @@ int __init ftrace_dyn_arch_init(void)
	return 0;
}

#endif /* CONFIG_DYNAMIC_FTRACE */

#ifdef CONFIG_FUNCTION_GRAPH_TRACER
/*
 * Hook the return address and push it in the stack of return addresses
@@ -169,7 +165,6 @@ unsigned long __kprobes prepare_ftrace_return(unsigned long parent,
	return parent;
}

#ifdef CONFIG_DYNAMIC_FTRACE
/*
 * Patch the kernel code at ftrace_graph_caller location. The instruction
 * there is branch relative and save to prepare_ftrace_return. To disable
@@ -219,5 +214,4 @@ int ftrace_disable_ftrace_graph_caller(void)
}

#endif /* CONFIG_64BIT */
#endif /* CONFIG_DYNAMIC_FTRACE */
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
+0 −2
Original line number Diff line number Diff line
@@ -15,11 +15,9 @@ ENTRY(ftrace_stub)
	br	%r14

ENTRY(_mcount)
#ifdef CONFIG_DYNAMIC_FTRACE
	br	%r14

ENTRY(ftrace_caller)
#endif
	stm	%r2,%r5,16(%r15)
	bras	%r1,1f
0:	.long	ftrace_trace_function
+0 −2
Original line number Diff line number Diff line
@@ -22,13 +22,11 @@ ENTRY(ftrace_stub)
#define STACK_PTREGS_PSW  (STACK_PTREGS + __PT_PSW)

ENTRY(_mcount)
#ifdef CONFIG_DYNAMIC_FTRACE
	br	%r14

ENTRY(ftrace_caller)
	.globl	ftrace_regs_caller
	.set	ftrace_regs_caller,ftrace_caller
#endif
	lgr	%r1,%r15
	aghi	%r15,-STACK_FRAME_SIZE
	stg	%r1,__SF_BACKCHAIN(%r15)