From: Ingo Molnar Date: Tue, 21 Aug 2012 09:25:32 +0000 (+0200) Subject: Merge branch 'perf/core' X-Git-Tag: next-20120822~28^2~5 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=6a7db50414b6a6cd934cba3f478c5a246a5d3009;p=karo-tx-linux.git Merge branch 'perf/core' --- 6a7db50414b6a6cd934cba3f478c5a246a5d3009 diff --cc kernel/trace/trace_functions.c index a426f410c060,fdff65dff1bb..483162a9f908 --- a/kernel/trace/trace_functions.c +++ b/kernel/trace/trace_functions.c @@@ -75,16 -75,10 +76,18 @@@ function_trace_call_preempt_only(unsign preempt_enable_notrace(); } +/* Our two options */ +enum { + TRACE_FUNC_OPT_STACK = 0x1, + TRACE_FUNC_OPT_PSTORE = 0x2, +}; + +static struct tracer_flags func_flags; + static void - function_trace_call(unsigned long ip, unsigned long parent_ip) + function_trace_call(unsigned long ip, unsigned long parent_ip, + struct ftrace_ops *op, struct pt_regs *pt_regs) + { struct trace_array *tr = func_trace; struct trace_array_cpu *data; @@@ -170,9 -159,14 +174,9 @@@ static struct ftrace_ops trace_ops __re static struct ftrace_ops trace_stack_ops __read_mostly = { .func = function_stack_trace_call, - .flags = FTRACE_OPS_FL_GLOBAL, + .flags = FTRACE_OPS_FL_GLOBAL | FTRACE_OPS_FL_RECURSION_SAFE, }; -/* Our two options */ -enum { - TRACE_FUNC_OPT_STACK = 0x1, -}; - static struct tracer_opt func_opts[] = { #ifdef CONFIG_STACKTRACE { TRACER_OPT(func_stack_trace, TRACE_FUNC_OPT_STACK) },