[RFC PATCH 0/8] jump label v4

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jason Baron
Date: Tuesday, January 12, 2010 - 9:26 am

hi,

For background, see previous posting: http://marc.info/?l=linux-kernel&m=125858436505941&w=2

Refresh of the jump labeling patches. The largest update revolves around how
the jump labels are organized. I've added a hash table, using the name
of the tracepoints as the 'key'. (I might want to change this to a pointer,
for other users, but the string key works well for tracepoints). I've also
pre-sorted the jump tables by name. Thus, when a jump label is enabled/disabled
we look up its hash table entry and then walk the list of associated jump
labels. The implementation also associates module jump sections with the
appropriate keys as they are inserted and removed.

The first 2 patches of the series are a repost of Masami's text_poke_fixup()
function, which allows for efficient instruction patching. I believe this is
still an ongoing discussion, on the best safest approach here. Masami's
text_poke_fixup() has been working well for me. But I could certainly
substitute a 'stop_machine()' version or something similar if there is enough
interest, until we have a more efficient solution.

patches are against the latest -tip tree.

thanks,

-Jason

Masami Hiramatsu (2):
        x86: Introduce generic jump patching without stop_machine
        kprobes/x86: Cleanup RELATIVEJUMP_INSTRUCTION to RELATIVEJUMP_OPCODE

Mathieu Desnoyers (1):
	notifier atomic call chain notrace

Jason Baron(5):
        move opcode defs from asm/kprobes.h to asm/alternative.h
        jump label base
	x86: jump label support
        jump label tracepoint support
        jump label module support


 arch/x86/include/asm/alternative.h |   17 ++
 arch/x86/include/asm/jump_label.h  |   32 ++++
 arch/x86/include/asm/kprobes.h     |    3 -
 arch/x86/kernel/Makefile           |    2 +-
 arch/x86/kernel/alternative.c      |  120 ++++++++++++++
 arch/x86/kernel/jump_label.c       |   52 ++++++
 arch/x86/kernel/kprobes.c          |    2 +-
 arch/x86/kernel/ptrace.c           |    1 +
 include/asm-generic/vmlinux.lds.h  |   10 +-
 include/linux/jump_label.h         |   58 +++++++
 include/linux/module.h             |    5 +-
 include/linux/tracepoint.h         |   34 +++--
 kernel/Makefile                    |    2 +-
 kernel/jump_label.c                |  301 ++++++++++++++++++++++++++++++++++++
 kernel/kprobes.c                   |    2 +-
 kernel/module.c                    |    7 +
 kernel/notifier.c                  |    6 +-
 kernel/tracepoint.c                |    8 +
 18 files changed, 635 insertions(+), 27 deletions(-)
 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

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH 0/8] jump label v4 , Jason Baron, (Tue Jan 12, 9:26 am)
[RFC PATCH 5/8] jump label v4 - base patch, Jason Baron, (Tue Jan 12, 9:26 am)
[RFC PATCH 6/8] jump label v4 - x86 support, Jason Baron, (Tue Jan 12, 9:26 am)
[RFC PATCH 7/8] jump label v4 - tracepoint support, Jason Baron, (Tue Jan 12, 9:26 am)
[RFC PATCH 8/8] jump label v4 - add module support, Jason Baron, (Tue Jan 12, 9:26 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Tue Jan 12, 7:06 pm)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Masami Hiramatsu, (Tue Jan 12, 10:38 pm)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Wed Jan 13, 7:30 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Masami Hiramatsu, (Wed Jan 13, 11:57 pm)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Thu Jan 14, 8:39 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Masami Hiramatsu, (Thu Jan 14, 11:45 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Sun Jan 17, 11:55 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Arjan van de Ven, (Sun Jan 17, 12:16 pm)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Mon Jan 18, 9:52 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Mon Jan 18, 9:54 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Masami Hiramatsu, (Mon Jan 18, 11:21 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Mon Jan 18, 11:33 am)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Mon Jan 18, 2:32 pm)
Re: [RFC PATCH 2/8] jump label v4 - x86: Introduce generic ..., Mathieu Desnoyers, (Tue Apr 13, 10:16 am)