Re: [PATCH -tip v5 03/10] kprobes: Introduce kprobes jump optimization

Masami Hiramatsu
2009-11-25T21:30:57Z

Steven Rostedt wrote:
> On Tue, 2009-11-24 at 15:59 -0500, Masami Hiramatsu wrote:
>
>>> I see...so the non-preemptible kernel requirement looks
>>> hard to workaround :-s
>>
>> It's the next challenge I think :-)
>> Even though, kprobes itself still work on preemptive kernel,
>> so we don't lose any functionality.
>
>> From kstop_machine, we could search all tasks to see if any are about to
> resume in the modified location. If there is, we could either
>
> 1) insert a normal kprobe
> 2) modify the return address of the task to jump to some trampoline to
> finish the work and return to the code spot with a direct jump.
>
> #2 is kind of nasty but seems like a fun thing to implement ;-)

Sure, anyway, a normal kprobe is already inserted, so we also can
just wait until all tasks don't resume to the spot :-)
(that's another reason why it uses delayed work for optimization.
we can try it again and again.)
And I think, that code will be shared with ksplice too.

Thank you,