This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH -tip 1/3] kprobes: Hide CONFIG_OPTPROBES and set if arch support optimized kprobes
- From: Masami Hiramatsu <mhiramat at redhat dot com>
- To: OGAWA Hirofumi <hirofumi at mail dot parknet dot co dot jp>
- Cc: Ingo Molnar <mingo at elte dot hu>, lkml <linux-kernel at vger dot kernel dot org>, systemtap <systemtap at sources dot redhat dot com>, DLE <dle-develop at lists dot sourceforge dot net>, Dieter Ries <mail at dieterries dot net>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>
- Date: Sat, 13 Mar 2010 21:05:30 -0500
- Subject: Re: [PATCH -tip 1/3] kprobes: Hide CONFIG_OPTPROBES and set if arch support optimized kprobes
- References: <20100312232208.2017.55337.stgit@localhost6.localdomain6> <87k4tfyd08.fsf@devron.myhome.or.jp>
OGAWA Hirofumi wrote:
> Masami Hiramatsu <mhiramat@redhat.com> writes:
>
>> Hide CONFIG_OPTPROBES and set if arch support optimized kprobes, since
>> this option doesn't change the behavior of kprobes, but just reduces
>> the overhead.
>
> I don't so care whether this is configurable or not, but this confuses
> me now. The following seems to say it's changed, but now this comment
> says it wasn't changed. The following docs was obsoleted?
>
> Thanks.
>
> NOTE for geeks:
> The jump optimization changes the kprobe's pre_handler behavior.
> Without optimization, the pre_handler can change the kernel's execution
> path by changing regs->ip and returning 1. However, when the probe
> is optimized, that modification is ignored. Thus, if you want to
> tweak the kernel's execution path, you need to suppress optimization,
> using one of the following techniques:
Ah, good point. This is only one point of changing the behavior.
So if someone makes an out of tree module for changing the ip
address by using kprobes, e.g. live code patching or something
like that, it will be affected by this change.
However, I think using kprobes for this way is not obviously
documented, moreover, some workarounds for that are documented
as above. So I don't worried about it.
Anyway, indeed, the patch comment is wrong. I need to say "this option
doesn't change the major behavior of kprobes, and workarounds for minor
change are documented." :)
Thank you for pointing it out!
--
Masami Hiramatsu
e-mail: mhiramat@redhat.com