Prev: [PATCH 11/12] jump label v10: add sparc64 support
Next: [PATCH 02/12] jump label v10: add module support
From: Jason Baron on 27 Jul 2010 17:00 Hi, updates in -v10: *removed build-time jump table sort. Since I moved to faster lib/sort.c qsort method, the run-time sort is really fast. This change also reduces the complexity quite a bit. *added arch_jump_label_text_poke_early(), removing text_poke_early() in generic code. I think for most arches this should be a no-op. *various Sparc cleanups and build testing on x86_64 using the 4.5 sparc64 cross compiler for both 'asm goto' enabled/disabled cases. *re-ordered the patches, so as to separate out arch bits cleanly *various cleanups - incorporating last round of feedback and docs update Special thanks to Tony Breeds for helping me with the sparc64 cross compiler 4.5 toolchain. thanks, -Jason David S. Miller (1): sparc64: Add jump_label support Jason Baron (11): jump label: base patch jump label: add module support jump label: move ftrace_dyn_arch_init to common code jump label: initialize workqueue tracepoints *before* they are registered jump label: jump_label_text_reserved() to reserve our jump points jump label: convert jump label to use a key jump label: use lib/sort.c jump label: tracepoint support jump label: convert dynamic debug to use jump labels. jump label: x86 support jump label: add docs Documentation/jump-label.txt | 151 +++++++++++++ Makefile | 5 + arch/Kconfig | 3 + arch/sparc/Kconfig | 1 + arch/sparc/include/asm/jump_label.h | 32 +++ arch/sparc/kernel/Makefile | 2 + arch/sparc/kernel/jump_label.c | 39 ++++ arch/sparc/kernel/module.c | 6 + arch/x86/Kconfig | 1 + arch/x86/include/asm/alternative.h | 14 ++ arch/x86/include/asm/jump_label.h | 47 ++++ arch/x86/kernel/Makefile | 2 +- arch/x86/kernel/alternative.c | 72 ++++++- arch/x86/kernel/ftrace.c | 70 +------ arch/x86/kernel/jump_label.c | 49 ++++ arch/x86/kernel/kprobes.c | 3 +- arch/x86/kernel/module.c | 3 + arch/x86/kernel/setup.c | 3 + include/asm-generic/vmlinux.lds.h | 10 + include/linux/dynamic_debug.h | 39 ++-- include/linux/jump_label.h | 64 ++++++ include/linux/module.h | 5 +- include/linux/tracepoint.h | 5 +- kernel/Makefile | 2 +- kernel/jump_label.c | 421 +++++++++++++++++++++++++++++++++++ kernel/kprobes.c | 3 +- kernel/module.c | 7 + kernel/trace/ftrace.c | 13 +- kernel/trace/trace_workqueue.c | 10 +- kernel/tracepoint.c | 14 +- lib/dynamic_debug.c | 42 +---- scripts/Makefile.lib | 11 +- scripts/basic/Makefile | 2 +- scripts/basic/hash.c | 64 ------ scripts/gcc-goto.sh | 5 + 35 files changed, 992 insertions(+), 228 deletions(-) create mode 100644 Documentation/jump-label.txt create mode 100644 arch/sparc/include/asm/jump_label.h create mode 100644 arch/sparc/kernel/jump_label.c create mode 100644 arch/x86/include/asm/jump_label.h create mode 100644 arch/x86/kernel/jump_label.c create mode 100644 include/linux/jump_label.h create mode 100644 kernel/jump_label.c delete mode 100644 scripts/basic/hash.c create mode 100644 scripts/gcc-goto.sh -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |