jump label: Base patch for jump label
authorJason Baron <jbaron@redhat.com>
Fri, 17 Sep 2010 15:09:00 +0000 (11:09 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 22 Sep 2010 20:29:41 +0000 (16:29 -0400)
commitbf5438fca2950b03c21ad868090cc1a8fcd49536
tree9fc5693763263704de8d8ba1c37a84172dbe5eb7
parentfa6f2cc77081792e4edca9168420a3422299ef15
jump label: Base patch for jump label

base patch to implement 'jump labeling'. Based on a new 'asm goto' inline
assembly gcc mechanism, we can now branch to labels from an 'asm goto'
statment. This allows us to create a 'no-op' fastpath, which can subsequently
be patched with a jump to the slowpath code. This is useful for code which
might be rarely used, but which we'd like to be able to call, if needed.
Tracepoints are the current usecase that these are being implemented for.

Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jason Baron <jbaron@redhat.com>
LKML-Reference: <ee8b3595967989fdaf84e698dc7447d315ce972a.1284733808.git.jbaron@redhat.com>

[ cleaned up some formating ]

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
12 files changed:
Makefile
arch/Kconfig
arch/x86/include/asm/alternative.h
arch/x86/kernel/alternative.c
include/asm-generic/vmlinux.lds.h
include/linux/jump_label.h [new file with mode: 0644]
include/linux/module.h
kernel/Makefile
kernel/jump_label.c [new file with mode: 0644]
kernel/kprobes.c
kernel/module.c
scripts/gcc-goto.sh [new file with mode: 0644]