Steven Rostedt
68eb1d2e53
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>
2011-05-17 10:41:42 -04:00
..
basic
kbuild: Fix computing srcversion for modules
2011-03-13 15:59:58 -07:00
coccinelle
scripts/coccinelle: update for compatability with Coccinelle 0.2.4
2010-12-03 12:27:01 +01:00
dtc
Fix common misspellings
2011-03-31 11:26:23 -03:00
genksyms
genksyms: Regenerate lexer and parser
2011-03-17 15:13:56 +01:00
kconfig
kconfig: Avoid buffer underrun in choice input
2011-04-24 08:24:31 -07:00
ksymoops
mod
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2011-03-21 15:55:26 -07:00
package
Fix common misspellings
2011-03-31 11:26:23 -03:00
rt-tester
Fix common misspellings
2011-03-31 11:26:23 -03:00
selinux
SELinux: Auto-generate security_is_socket_class
2011-03-03 15:19:43 -05:00
tracing
tracing, perf: Convert the power tracer into an event tracer
2009-09-19 11:42:12 +02:00
.gitignore
gitignore: add scripts/recordmcount
2010-11-25 15:49:50 +01:00
bin2c.c
bloat-o-meter
bloat-o-meter: include read-only data section in report
2011-03-22 17:44:17 -07:00
bootgraph.pl
bootgraph: fix for use with dot symbols
2009-02-15 12:50:08 +01:00
checkincludes.pl
checkincludes: fix perlcritic warnings
2010-03-07 21:19:57 +01:00
checkkconfigsymbols.sh
checkkconfigsymbols.sh: Kconfig symbols sometimes have lowercase letters
2010-06-03 10:39:39 +02:00
checkpatch.pl
Fix common misspellings
2011-03-31 11:26:23 -03:00
checkstack.pl
scripts: improve checkstack
2010-03-07 21:19:09 +01:00
checksyscalls.sh
checksyscalls: Fix stand-alone usage
2010-12-20 15:40:33 +01:00
checkversion.pl
checkversion: perl cleanup
2010-03-07 21:22:56 +01:00
cleanfile
cleanpatch
coccicheck
Coccinelle: Add contextual message
2010-10-28 00:32:23 +02:00
config
kbuild: add numeric --set-val option to scripts/config
2010-12-15 15:44:31 +01:00
conmakehash.c
Fix all -Wmissing-prototypes warnings in x86 defconfig
2009-09-23 07:39:28 -07:00
decodecode
scripts: decodecode: remove bashisms
2010-06-04 10:26:35 +02:00
diffconfig
export_report.pl
export_report: fix perl warnings
2010-03-07 21:41:04 +01:00
extract-ikconfig
scripts/extract-ikconfig: add xz compression support
2011-02-10 15:23:03 +01:00
gcc-goto.sh
jump label: Fix GCC feature check when distcc is used
2010-09-24 09:12:25 +02:00
gcc-version.sh
Remove bashisms from scripts
2009-06-09 22:37:54 +02:00
gcc-x86_32-has-stack-protector.sh
stackprotector: fix multi-word cross-builds
2009-02-11 12:17:29 +01:00
gcc-x86_64-has-stack-protector.sh
stackprotector: fix multi-word cross-builds
2009-02-11 12:17:29 +01:00
gen_initramfs_list.sh
Fix common misspellings
2011-03-31 11:26:23 -03:00
get_maintainer.pl
get_maintainer.pl: allow "K:" pattern tests to match non-patch text
2011-03-22 17:44:13 -07:00
gfp-translate
scripts: fix gfp-translate for recent changes to gfp.h
2010-11-25 06:50:49 +09:00
headerdep.pl
headerdep: perlcritic warning
2010-03-23 12:26:38 +01:00
headers.sh
kbuild: introduce HDR_ARCH_LIST for headers_install_all
2010-12-14 22:16:19 +01:00
headers_check.pl
headers_check: Fix warning text
2010-12-14 17:05:08 +01:00
headers_install.pl
headers_install: check exit status of unifdef
2010-12-14 15:06:04 +01:00
kallsyms.c
scripts/kallsyms: Enable error messages while hush up unnecessary warnings
2010-09-29 16:18:27 +02:00
Kbuild.include
kbuild: generate modules.builtin
2009-12-12 13:08:16 +01:00
kernel-doc
Fix common misspellings
2011-03-31 11:26:23 -03:00
Lindent
Makefile
KBuild: silence "'scripts/unifdef' is up to date."
2011-03-17 12:29:20 +01:00
Makefile.build
ftrace/kbuild: Add recordmcount files to force full build
2011-05-17 10:41:08 -04:00
Makefile.clean
kbuild: Really don't clean bounds.h and asm-offsets.h
2010-03-11 11:15:22 +01:00
Makefile.fwinst
Makefile.headersinst
kbuild: drop unifdef-y support
2010-08-14 22:26:52 +02:00
Makefile.help
Add a target to use the Coccinelle checker
2010-06-12 00:00:29 +02:00
Makefile.host
Makefile.lib
decompressors: add XZ decompressor module
2011-01-13 08:03:24 -08:00
Makefile.modbuiltin
kbuild: Create output directory in Makefile.modbuiltin
2010-06-10 12:23:08 +02:00
Makefile.modinst
Revert "kbuild: strip generated symbols from *.ko"
2009-01-14 21:38:20 +01:00
Makefile.modpost
Fix common misspellings
2011-03-31 11:26:23 -03:00
makelst
markup_oops.pl
Merge branch 'for-35' of git://repo.or.cz/linux-kbuild
2010-06-01 08:55:52 -07:00
mkcompile_h
scripts/mkcompile_h: don't test for hardcoded paths
2010-02-02 14:33:56 +01:00
mkmakefile
fixes for using make 3.82
2010-08-17 11:47:40 +02:00
mksysmap
Revert "kbuild: strip generated symbols from *.ko"
2009-01-14 21:38:20 +01:00
mkuboot.sh
mkuboot.sh: Fail if mkimage is missing
2011-01-07 14:31:01 +01:00
mkversion
module-common.lds
linker script: throw away .discard section
2009-06-24 15:13:38 +09:00
namespace.pl
Revert "namespace: add source file location exceptions"
2010-10-28 00:59:56 +02:00
patch-kernel
pnmtologo.c
fbdev: work around old compiler bug
2009-06-30 18:55:59 -07:00
profile2linkerlist.pl
profile2linkerlist: fix perl warnings
2010-03-07 21:39:33 +01:00
recordmcount.c
ftrace/recordmcount: Make ignored mcount calls into nops at compile time
2011-05-17 10:41:42 -04:00
recordmcount.h
ftrace/recordmcount: Make ignored mcount calls into nops at compile time
2011-05-17 10:41:42 -04:00
recordmcount.pl
ftrace: Add .kprobe.text section to whitelist for recordmcount.c
2011-05-17 10:41:36 -04:00
setlocalversion
setlocalversion: update mercurial tag parsing
2011-01-15 00:40:44 +01:00
show_delta
scripts: change scripts to use system python instead of env
2010-02-02 14:33:56 +01:00
tags.sh
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2011-03-20 18:13:09 -07:00
unifdef.c
unifdef: update to upstream version 2.5
2011-01-22 15:50:59 +01:00
ver_linux
Remove bashisms from scripts
2009-06-09 22:37:54 +02:00
xz_wrap.sh
decompressors: add XZ decompressor module
2011-01-13 08:03:24 -08:00