All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
To: Avi Kivity <avi@redhat.com>
Cc: "Blue Swirl" <blauwirbel@gmail.com>, Lluís <xscript@gmx.net>,
	qemu-devel <qemu-devel@nongnu.org>,
	"Dhaval Giani" <dhaval.giani@gmail.com>
Subject: Re: [Qemu-devel] [PATCH, RFC] trace: implement guest tracepoint passthrough
Date: Wed, 31 Aug 2011 10:08:15 +0100	[thread overview]
Message-ID: <20110831090815.GA2038@stefanha-thinkpad.localdomain> (raw)
In-Reply-To: <4E5DF31A.1@redhat.com>

On Wed, Aug 31, 2011 at 11:38:50AM +0300, Avi Kivity wrote:
> On 08/26/2011 10:06 PM, Blue Swirl wrote:
> >Let guests inject tracepoint data via fw_cfg device.
> >
> >
> 
> At least on x86, fw_cfg is pretty slow, involving multiple exits.
> IMO, for kvm, even one exit per tracepoint is too high.  We need to
> use a shared memory transport with a way to order guest/host events
> later on (by using a clock).

It depends how you want to use this.  If you need it for guest firmware
debugging or bringing up a new target, then this approach is fine.

But this is not a mechanism that is suitable for performance analysis or
production tracing (the fact that the QEMU and guest software need to be
built together in order to sync on event IDs is the killer).

Dhaval is looking at Linux guest tracing which is suitable for
performance work.  This does not necessarily involve modifying QEMU.
Currently he uses a hypercall but a virtio device would be possible too.
The key thing is that it integrates with the host kernel tracing
infrastructure so you get a unified trace instead of terminating in QEMU
userspace.

So I see Blue's feature as a quick starting point for people who need to
debug and hack guests.  It should be simple and easy to get going for
QEMU developers, but is not suitable for other use.

Stefan

  reply	other threads:[~2011-08-31  9:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-26 19:06 [Qemu-devel] [PATCH, RFC] trace: implement guest tracepoint passthrough Blue Swirl
2011-08-29 12:17 ` Stefan Hajnoczi
2011-08-29 12:51   ` Lluís
2011-08-30 18:58     ` Blue Swirl
2011-08-30 18:43   ` Blue Swirl
2011-08-31  7:24     ` Stefan Hajnoczi
2011-08-31  8:38 ` Avi Kivity
2011-08-31  9:08   ` Stefan Hajnoczi [this message]
2011-08-31  9:11     ` Avi Kivity
2011-08-31 13:38       ` Stefan Hajnoczi
2011-08-31 18:01         ` Dhaval Giani
2011-08-31 10:54     ` Jan Kiszka
2011-08-31 17:58   ` Blue Swirl
2011-08-31 18:00     ` Dhaval Giani
2011-09-03  8:53       ` Blue Swirl
2011-09-03  9:26         ` Dhaval Giani
2011-09-03 10:55           ` Blue Swirl

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=20110831090815.GA2038@stefanha-thinkpad.localdomain \
    --to=stefanha@linux.vnet.ibm.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=dhaval.giani@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=xscript@gmx.net \
    /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.