Skip to content

Commit

Permalink
tracing/function-graph-tracer: drop the kernel_text_address check
Browse files Browse the repository at this point in the history
When the function graph tracer picks a return address, it ensures this address
is really a kernel text one by calling __kernel_text_address()

Actually this path has never been taken.Its role was more likely to debug the tracer
on the beginning of its development but this function is wasteful since it is called
for every traced function.

The fault check is already sufficient.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Frederic Weisbecker authored and Ingo Molnar committed Feb 9, 2009
1 parent 1292211 commit 3861a17
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 10 deletions.
7 changes: 0 additions & 7 deletions arch/x86/kernel/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -491,13 +491,6 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
return;
}

if (unlikely(!__kernel_text_address(old))) {
ftrace_graph_stop();
*parent = old;
WARN_ON(1);
return;
}

calltime = cpu_clock(raw_smp_processor_id());

if (push_return_trace(old, calltime,
Expand Down
4 changes: 2 additions & 2 deletions kernel/extable.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr)
return e;
}

__notrace_funcgraph int core_kernel_text(unsigned long addr)
int core_kernel_text(unsigned long addr)
{
if (addr >= (unsigned long)_stext &&
addr <= (unsigned long)_etext)
Expand All @@ -54,7 +54,7 @@ __notrace_funcgraph int core_kernel_text(unsigned long addr)
return 0;
}

__notrace_funcgraph int __kernel_text_address(unsigned long addr)
int __kernel_text_address(unsigned long addr)
{
if (core_kernel_text(addr))
return 1;
Expand Down
2 changes: 1 addition & 1 deletion kernel/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -2735,7 +2735,7 @@ int is_module_address(unsigned long addr)


/* Is this a valid kernel address? */
__notrace_funcgraph struct module *__module_text_address(unsigned long addr)
struct module *__module_text_address(unsigned long addr)
{
struct module *mod;

Expand Down

0 comments on commit 3861a17

Please sign in to comment.