ftrace/recordmcount: Make ignored mcount calls into nops at compile time
authorSteven Rostedt <srostedt@redhat.com>
Fri, 8 Apr 2011 07:58:48 +0000 (03:58 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 17 May 2011 14:41:42 +0000 (10:41 -0400)
commit68eb1d2e5370c6da4c871c80fdccbe315dc2f3c1
tree04c5928123189727e1940aa3a0b090272aa9adff
parentdf2ccb69454d022ce99e3a3b7ee7f9fb4a4e9563
ftrace/recordmcount: Make ignored mcount calls into nops at compile time

There are sections that are ignored by ftrace for the function tracing because
the text is in a section that can be removed without notice. The mcount calls
in these sections are ignored and ftrace never sees them. The downside of this
is that the functions in these sections still call mcount. Although the mcount
function is defined in assembly simply as a return, this added overhead is
unnecessary.

The solution is to convert these callers into nops at compile time.
A better solution is to add 'notrace' to the section markers, but as new sections
come up all the time, it would be nice that they are delt with when they
are created.

Later patches will deal with finding these sections and doing the proper solution.

Thanks to H. Peter Anvin for giving me the right nops to use for x86.

Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: John Reiser <jreiser@bitwagon.com>
Link: http://lkml.kernel.org/r/20110421023738.237101176@goodmis.org
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
scripts/recordmcount.c
scripts/recordmcount.h