diff options
| author | Ingo Molnar <mingo@kernel.org> | 2017-03-16 04:50:50 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2017-03-16 04:50:50 -0400 |
| commit | 2b95bd7d58d368fe5dcbe6f4e494847ea082d89d (patch) | |
| tree | 48c38d792f31f2fe10b26b03bdf1b10a82ca03a4 /kernel/trace | |
| parent | ffa86c2f1a8862cf58c873f6f14d4b2c3250fb48 (diff) | |
| parent | 69eea5a4ab9c705496e912b55a9d312325de19e6 (diff) | |
Merge branch 'linus' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/ftrace.c | 23 | ||||
| -rw-r--r-- | kernel/trace/trace_stack.c | 2 |
2 files changed, 19 insertions, 6 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 0d1597c9ee30..b9691ee8f6c1 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
| @@ -4416,16 +4416,24 @@ static int __init set_graph_notrace_function(char *str) | |||
| 4416 | } | 4416 | } |
| 4417 | __setup("ftrace_graph_notrace=", set_graph_notrace_function); | 4417 | __setup("ftrace_graph_notrace=", set_graph_notrace_function); |
| 4418 | 4418 | ||
| 4419 | static int __init set_graph_max_depth_function(char *str) | ||
| 4420 | { | ||
| 4421 | if (!str) | ||
| 4422 | return 0; | ||
| 4423 | fgraph_max_depth = simple_strtoul(str, NULL, 0); | ||
| 4424 | return 1; | ||
| 4425 | } | ||
| 4426 | __setup("ftrace_graph_max_depth=", set_graph_max_depth_function); | ||
| 4427 | |||
| 4419 | static void __init set_ftrace_early_graph(char *buf, int enable) | 4428 | static void __init set_ftrace_early_graph(char *buf, int enable) |
| 4420 | { | 4429 | { |
| 4421 | int ret; | 4430 | int ret; |
| 4422 | char *func; | 4431 | char *func; |
| 4423 | struct ftrace_hash *hash; | 4432 | struct ftrace_hash *hash; |
| 4424 | 4433 | ||
| 4425 | if (enable) | 4434 | hash = alloc_ftrace_hash(FTRACE_HASH_DEFAULT_BITS); |
| 4426 | hash = ftrace_graph_hash; | 4435 | if (WARN_ON(!hash)) |
| 4427 | else | 4436 | return; |
| 4428 | hash = ftrace_graph_notrace_hash; | ||
| 4429 | 4437 | ||
| 4430 | while (buf) { | 4438 | while (buf) { |
| 4431 | func = strsep(&buf, ","); | 4439 | func = strsep(&buf, ","); |
| @@ -4435,6 +4443,11 @@ static void __init set_ftrace_early_graph(char *buf, int enable) | |||
| 4435 | printk(KERN_DEBUG "ftrace: function %s not " | 4443 | printk(KERN_DEBUG "ftrace: function %s not " |
| 4436 | "traceable\n", func); | 4444 | "traceable\n", func); |
| 4437 | } | 4445 | } |
| 4446 | |||
| 4447 | if (enable) | ||
| 4448 | ftrace_graph_hash = hash; | ||
| 4449 | else | ||
| 4450 | ftrace_graph_notrace_hash = hash; | ||
| 4438 | } | 4451 | } |
| 4439 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ | 4452 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ |
| 4440 | 4453 | ||
| @@ -5488,7 +5501,7 @@ static void ftrace_ops_assist_func(unsigned long ip, unsigned long parent_ip, | |||
| 5488 | * Normally the mcount trampoline will call the ops->func, but there | 5501 | * Normally the mcount trampoline will call the ops->func, but there |
| 5489 | * are times that it should not. For example, if the ops does not | 5502 | * are times that it should not. For example, if the ops does not |
| 5490 | * have its own recursion protection, then it should call the | 5503 | * have its own recursion protection, then it should call the |
| 5491 | * ftrace_ops_recurs_func() instead. | 5504 | * ftrace_ops_assist_func() instead. |
| 5492 | * | 5505 | * |
| 5493 | * Returns the function that the trampoline should call for @ops. | 5506 | * Returns the function that the trampoline should call for @ops. |
| 5494 | */ | 5507 | */ |
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c index 1d68b5b7ad41..5fb1f2c87e6b 100644 --- a/kernel/trace/trace_stack.c +++ b/kernel/trace/trace_stack.c | |||
| @@ -65,7 +65,7 @@ void stack_trace_print(void) | |||
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | /* | 67 | /* |
| 68 | * When arch-specific code overides this function, the following | 68 | * When arch-specific code overrides this function, the following |
| 69 | * data should be filled up, assuming stack_trace_max_lock is held to | 69 | * data should be filled up, assuming stack_trace_max_lock is held to |
| 70 | * prevent concurrent updates. | 70 | * prevent concurrent updates. |
| 71 | * stack_trace_index[] | 71 | * stack_trace_index[] |
