From: Karim Yaghmour <karim@opersys.com>
To: Martin Bligh <mbligh@google.com>
Cc: "Frank Ch. Eigler" <fche@redhat.com>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
prasanna@in.ibm.com, Andrew Morton <akpm@osdl.org>,
Ingo Molnar <mingo@elte.hu>,
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
Paul Mundt <lethal@linux-sh.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Jes Sorensen <jes@sgi.com>, Tom Zanussi <zanussi@us.ibm.com>,
Richard J Moore <richardj_moore@uk.ibm.com>,
Michel Dagenais <michel.dagenais@polymtl.ca>,
Christoph Hellwig <hch@infradead.org>,
Greg Kroah-Hartman <gregkh@suse.de>,
Thomas Gleixner <tglx@linutronix.de>,
William Cohen <wcohen@redhat.com>,
ltt-dev@shafik.org, systemtap@sources.redhat.com,
Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] Linux Kernel Markers
Date: Wed, 20 Sep 2006 15:43:48 -0400 [thread overview]
Message-ID: <451199F4.3000006@opersys.com> (raw)
In-Reply-To: <451194DA.40300@google.com>
Martin Bligh wrote:
> Do we even need the filler padding? I thought we could insert kprobes
> at the beginning of any function without that ... it was only a
> requirement for mid-function (sometimes). If we copy the whole function,
> we don't even need that any more ...
>
> if kprobes can do it, I don't see why djprobes can't ... after all, it
> just seems to use kprobes to insert a jump, AFAICS.
I guess I must not be explaining myself properly.
The padding is for one purpose and one purpose only: having
a know-to-be-good location at the beginning of the
uninstrumented function for later using djprobes on. Once
you've got that, then you can indeed copy the entire
function and do whatever you want *without* using djprobes
or kprobes, but using direct calls.
If you don't have the padding, then you might yourself in
a case where you're replacing bytes from multiple instructions
where something somewhere may have an IP within the replaced
range. And to get around that you have to pull a few magic
tricks *and* make a few assumptions. But if you replace a
5 bytes instruction (or the equivalent as in Hiramatsu-san's
proposla) with another 5 bytes instruction, none of that is
needed and djprobes can be used *today* to do that.
Using this, you've got an arguably non-existent penalty
for the function with the filler and a very fast jump to
the instrumented function. The best of both worlds
actually.
Let me know if I'm still not being clear.
Karim
next prev parent reply other threads:[~2006-09-20 19:34 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-18 23:45 [PATCH] Linux Kernel Markers Mathieu Desnoyers
2006-09-19 0:41 ` Alan Cox
2006-09-19 1:10 ` Dave Jones
2006-09-19 8:11 ` Ingo Molnar
2006-09-19 8:13 ` Ingo Molnar
2006-09-19 15:11 ` Martin J. Bligh
2006-09-19 15:31 ` Ingo Molnar
2006-09-20 11:19 ` Andi Kleen
2006-09-19 15:46 ` Frank Ch. Eigler
2006-09-19 16:04 ` Martin Bligh
2006-09-19 16:39 ` Andrew Morton
2006-09-19 16:41 ` Martin Bligh
2006-09-19 6:38 ` S. P. Prasanna
2006-09-19 17:17 ` Martin Bligh
2006-09-19 7:05 ` S. P. Prasanna
2006-09-19 18:02 ` Martin Bligh
2006-09-19 21:04 ` Karim Yaghmour
2006-09-20 13:27 ` Masami Hiramatsu
2006-09-20 17:21 ` Karim Yaghmour
2006-09-20 17:15 ` Mathieu Desnoyers
2006-09-20 17:35 ` Karim Yaghmour
2006-09-20 18:08 ` Frank Ch. Eigler
2006-09-20 18:22 ` Martin Bligh
2006-09-20 18:50 ` Karim Yaghmour
2006-09-20 19:22 ` Martin Bligh
2006-09-20 19:43 ` Karim Yaghmour [this message]
2006-09-20 19:40 ` Martin Bligh
2006-09-20 19:58 ` Karim Yaghmour
2006-09-20 18:25 ` Karim Yaghmour
2006-09-20 17:41 ` Karim Yaghmour
2006-09-19 17:54 ` Mathieu Desnoyers
2006-09-19 18:01 ` Martin Bligh
2006-09-19 18:11 ` Mathieu Desnoyers
2006-09-20 0:08 ` Alan Cox
2006-09-20 0:52 ` Karim Yaghmour
2006-09-20 10:44 ` Alan Cox
2006-09-20 23:00 ` Richard J Moore
2006-09-23 15:34 ` score-boarding [was Re: [PATCH] Linux Kernel Markers] Hugh Dickins
2006-09-26 8:43 ` Richard J Moore
2006-09-20 1:08 ` [PATCH] Linux Kernel Markers S. P. Prasanna
2006-09-20 8:18 ` Richard J Moore
2006-09-20 10:32 ` Alan Cox
2006-09-20 11:50 ` Andi Kleen
2006-09-20 13:45 ` Richard J Moore
2006-09-22 12:33 ` Pavel Machek
2006-09-20 1:09 ` Mathieu Desnoyers
2006-09-19 19:13 ` Vara Prasad
2006-09-19 19:16 ` Mathieu Desnoyers
2006-09-19 19:24 ` Martin Bligh
2006-09-19 22:27 ` Satoshi Oshima
2006-09-19 19:26 ` Martin Bligh
2006-09-19 9:30 ` S. P. Prasanna
2006-09-19 20:12 ` Mathieu Desnoyers
2006-09-20 11:00 ` Masami Hiramatsu
2006-09-20 9:39 ` Helge Hafting
2006-09-20 10:30 ` Alan Cox
2006-09-20 13:23 ` Masami Hiramatsu
2006-09-19 16:36 ` Ingo Molnar
2006-09-19 16:41 ` Richard J Moore
2006-09-19 16:49 ` Frank Ch. Eigler
2006-09-19 16:52 ` Martin Bligh
2006-09-19 17:02 ` Frank Ch. Eigler
2006-09-19 16:06 ` Vara Prasad
2006-09-19 16:14 ` Martin Bligh
2006-09-19 17:43 ` Mathieu Desnoyers
2006-09-19 16:23 ` Karim Yaghmour
2006-09-19 16:17 ` Martin Bligh
2006-09-19 16:29 ` Karim Yaghmour
2006-09-19 16:55 ` Karim Yaghmour
2006-09-19 17:41 ` Mathieu Desnoyers
2006-09-20 17:33 ` Karim Yaghmour
2006-09-19 15:21 ` Frank Ch. Eigler
2006-09-20 13:20 ` Masami Hiramatsu
2006-09-20 13:32 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=451199F4.3000006@opersys.com \
--to=karim@opersys.com \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=fche@redhat.com \
--cc=gregkh@suse.de \
--cc=hch@infradead.org \
--cc=jes@sgi.com \
--cc=lethal@linux-sh.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ltt-dev@shafik.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=mbligh@google.com \
--cc=michel.dagenais@polymtl.ca \
--cc=mingo@elte.hu \
--cc=prasanna@in.ibm.com \
--cc=richardj_moore@uk.ibm.com \
--cc=systemtap@sources.redhat.com \
--cc=tglx@linutronix.de \
--cc=wcohen@redhat.com \
--cc=zanussi@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox