From: Masami Hiramatsu <mhiramat@redhat.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@elte.hu>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
systemtap-ml <systemtap@sources.redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Jim Keniston <jkenisto@us.ibm.com>
Subject: Re: [PATCH -tip 0/4 V3] tracing: kprobe-based event tracer
Date: Wed, 01 Apr 2009 19:21:55 -0400 [thread overview]
Message-ID: <49D3F713.1000502@redhat.com> (raw)
In-Reply-To: <20090401221540.GX11935@one.firstfloor.org>
Andi Kleen wrote:
> On Wed, Apr 01, 2009 at 04:51:00PM -0400, Masami Hiramatsu wrote:
>> Andi Kleen wrote:
>>> Masami Hiramatsu <mhiramat@redhat.com> writes:
>>>> I agreed. Fortunately, Jim Keniston and I wrote an x86 instruction
>>>> decoder :-) which has been made originally for uprobe andd kprobes
>>>> jump-optimizer.
>>>>
>>>> https://www.redhat.com/archives/utrace-devel/2009-March/msg00031.html
>>> An alternative would be to adapt the x86 interpreter in KVM.
>>> I thought for some time that that one should be available in
>>> a more generic form in a library.
>> As far as I can see, KVM's instruction emulator is incomplete
>
> That's fine for you -- you only care about a subset of instructions
> anyways, don't you?
Actually, (in my case) I just need to decode non-FPU instructions,
because I'd like to check whether kprobe is on the instruction
boundary.
However, KVM's insn decoder can't decode some elemental
instructions, and instruction flags are incorrect.
I had written instruction decoder based on it, but the result
was so awful!
So soon, I had to rewrite it based on Intel's manual entirely :-(
>> (it doesn't cover all instructions...) and aims to emulate
>> instructions, not to analyze (so I couldn't relay on it).
>
> You can use it to analyze, just plug in the right callbacks that
> do nothing. I looked at it some time ago for doing instruction
> length checking for some application, but that application
> then disappeared. The main obstacle with making it a library
> is that some KVM specific dependencies have crept in that would
> need to be abstracted again, but I don't think it would need a lot of
> effort,
Sorry, but I don't think so. Current KVM's decoder is much more
focusing on preparing instructions emulation. It requires
vcpu setup, fetching operators and so on. I think it needs to
diet their code (or well splitting from emulator).
Anyway, I don't stick with my decoder. If they can provide more
generic interfaces, I'd be happy to use it. :-)
Thank you,
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com
next prev parent reply other threads:[~2009-04-01 23:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-26 22:58 [PATCH -tip 0/4 V3] tracing: kprobe-based event tracer Masami Hiramatsu
2009-04-01 13:36 ` Ingo Molnar
2009-04-01 14:09 ` Masami Hiramatsu
2009-04-01 14:27 ` Ingo Molnar
2009-04-01 17:40 ` Masami Hiramatsu
2009-04-01 17:47 ` Ingo Molnar
2009-04-01 20:14 ` Andi Kleen
2009-04-01 20:51 ` Masami Hiramatsu
2009-04-01 22:15 ` Andi Kleen
2009-04-01 23:21 ` Masami Hiramatsu [this message]
2009-04-02 7:36 ` Andi Kleen
2009-04-02 15:49 ` Masami Hiramatsu
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=49D3F713.1000502@redhat.com \
--to=mhiramat@redhat.com \
--cc=acme@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=ananth@in.ibm.com \
--cc=andi@firstfloor.org \
--cc=fweisbec@gmail.com \
--cc=jkenisto@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=systemtap@sources.redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.