Re: [PATCH -tip v10 0/9] kprobes: Kprobes jump optimization support

From: Masami Hiramatsu
Date: Wed Feb 24 2010 - 08:42:19 EST


Masami Hiramatsu wrote:
> Steven Rostedt wrote:
>> On Thu, 2010-02-18 at 17:12 -0500, Masami Hiramatsu wrote:
>>
>>> This version of patch series uses text_poke_smp() which
>>> update kernel text by stop_machine(). That is 'officially'
>>> supported on Intel's processors. text_poke_smp() can't
>>> be used for modifying NMI code,
>>
>> But it can be made to use with NMI code. If you look at what I did to
>> allow ftrace to modify NMI code, it may be able to do the same thing.
>
> Yeah, I know. But basically, kprobes doesn't support probing NMI.
> Maybe, it's possibly the next step. :)

I mean that it may be overkill for this series, because the kprobes
itself doesn't support NMI. So I think it should be done by another
series (for simplify patches).


BTW, now there are two candidates for NMI supported text_poke()
on x86. AFAIK, those have following issues/features.

- text_poke_fixup()
- Send IPI twice instead of kstop_machine.
- Need a detour buffer if replacing code is not a jump.
- Unofficial method for x86.

- generic ftrace_modify_code
- Use kstop_machine and wait an NMI.
- Temporarily clear the kernel text read-only flag entirely
(can we use text_poke instead?)

Thank you,

--
Masami Hiramatsu
e-mail: mhiramat@xxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/