Skip to content

jump label v10

Jason Baron lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 8 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12jump label v10: base patchMakefile arch/Kconfig include/asm-generic/vmlinux.lds.h +4 more+258 -20 replies
2/12jump label v10: add module supportinclude/linux/jump_label.h include/linux/module.h kernel/jump_label.c +1 more+149 -20 replies
3/12jump label v10: move ftrace_dyn_arch_init to common codearch/x86/include/asm/alternative.h arch/x86/kernel/alternative.c arch/x86/kernel/ftrace.c +4 more+130 -840 replies
4/12jump label v10: initialize workqueue tracepoints *before* they are registeredkernel/trace/trace_workqueue.c+5 -50 replies
5/12jump label v10: jump_label_text_reserved() to reserve our jump pointsarch/x86/kernel/kprobes.c include/linux/jump_label.h kernel/jump_label.c +1 more+94 -30 replies
6/12jump label v10: convert jump label to use a keyinclude/asm-generic/vmlinux.lds.h include/linux/jump_label.h kernel/jump_label.c+38 -471 reply
7/12jump label v10: use lib/sort.ckernel/jump_label.c+16 -211 reply
8/12jump label v10: tracepoint supportinclude/linux/tracepoint.h kernel/tracepoint.c+16 -30 replies
9/12jump label v10: convert dynamic debug to use jump labels.include/linux/dynamic_debug.h lib/dynamic_debug.c scripts/Makefile.lib +2 more+26 -1320 replies
10/12jump label v10: x86 supportarch/x86/Kconfig arch/x86/include/asm/jump_label.h arch/x86/kernel/Makefile +2 more+101 -10 replies
11/12jump label v10: add sparc64 supportarch/sparc/Kconfig arch/sparc/include/asm/jump_label.h arch/sparc/kernel/Makefile +2 more+80 -00 replies
12/12jump label v10: add docsDocumentation/jump-label.txt+151 -00 replies

Reviews trailers per patch

1 of 12 patches has a Reviewed-by or Acked-by.

PatchMasami Hiramatsu
1/12
2/12
3/12
4/12
5/12A-b
6/12
7/12
8/12
9/12
10/12
11/12
12/12

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/12] jump label v10

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