From: Avi Kivity <avi@redhat.com>
To: Pekka Paalanen <pq@iki.fi>
Cc: Masami Hiramatsu <mhiramat@redhat.com>,
Vegard Nossum <vegard.nossum@gmail.com>,
Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <andi@firstfloor.org>,
Jim Keniston <jkenisto@us.ibm.com>,
kvm@vger.kernel.org, systemtap-ml <systemtap@sources.redhat.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH -tip 0/6 V4] tracing: kprobe-based event tracer
Date: Mon, 06 Apr 2009 10:53:40 +0300 [thread overview]
Message-ID: <49D9B504.2050901@redhat.com> (raw)
In-Reply-To: <20090405223710.49299b9a@daedalus.pq.iki.fi>
Pekka Paalanen wrote:
> Not just emulation but address diversion, i.e. modifying the operation
> (not the text) before executing it. Mmiotrace could do something like
> this:
> 1. a blob calls ioremap
> 2. mmiotrace maps the MMIO area privately
> 3. the blob receives a dummy map from ioremap, that will generate
> page fault
> 4. the blob accesses the dummy map and raises a page fault
> 5. pf handler detects the dummy map
> 6. mmiotrace pf handler emulates the instruction and replaces the
> dummy address with the real MMIO address.
> 7. mmiotrace records the operation and the datum
> 8. go to step 4, or whatever
>
> This means mmiotrace would not have to fiddle with the page
> tables and page presence bits like it does now. As said, this
> would make mmiotrace SMP-proof, and also eliminate the die notifier
> (used for the instruction single stepping trap).
>
> IMO a big step from a hack to a tool. Getting rid of the custom
> instruction parser in mmiotrace would be a good step in itself.
>
> Avi Kivity noted, that the KVM emulator does almost everything. Does
> it allow also address diversion?
>
Operand access is by means of a callback, so yes. In kvm's use, it's
used to access guest memory, so it modified the addresses before reading
or writing.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2009-04-06 7:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-02 17:24 [PATCH -tip 0/6 V4] tracing: kprobe-based event tracer Masami Hiramatsu
2009-04-02 17:24 ` Masami Hiramatsu
2009-04-03 11:26 ` Ingo Molnar
2009-04-03 11:32 ` Andi Kleen
2009-04-03 11:50 ` Avi Kivity
2009-04-03 12:12 ` Ingo Molnar
2009-04-03 12:17 ` Avi Kivity
2009-04-03 12:26 ` Ingo Molnar
2009-04-03 12:33 ` Avi Kivity
2009-04-03 13:16 ` Vegard Nossum
2009-04-03 13:40 ` Avi Kivity
2009-04-03 13:52 ` Masami Hiramatsu
2009-04-05 19:37 ` Pekka Paalanen
2009-04-06 7:53 ` Avi Kivity [this message]
2009-04-03 12:25 ` Andi Kleen
2009-04-03 14:21 ` Masami Hiramatsu
2009-04-03 14:23 ` Ingo Molnar
2009-04-03 16:55 ` Masami Hiramatsu
2009-04-03 17:59 ` Jim Keniston
2009-04-03 14:30 ` Avi Kivity
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=49D9B504.2050901@redhat.com \
--to=avi@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=ananth@in.ibm.com \
--cc=andi@firstfloor.org \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=jkenisto@us.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@redhat.com \
--cc=mingo@elte.hu \
--cc=pq@iki.fi \
--cc=rostedt@goodmis.org \
--cc=systemtap@sources.redhat.com \
--cc=vegard.nossum@gmail.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.