All of lore.kernel.org
 help / color / mirror / Atom feed
From: Prerna Saxena <prerna@linux.vnet.ibm.com>
To: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	Anthony Liguori <aliguori@us.ibm.com>
Subject: Re: [Qemu-devel] [RFC 0/2] Tracing
Date: Fri, 21 May 2010 16:57:37 +0530	[thread overview]
Message-ID: <4BF66E29.5000101@linux.vnet.ibm.com> (raw)
In-Reply-To: <1274434947-2863-1-git-send-email-stefanha@linux.vnet.ibm.com>

Hi Stefan,

Nice to see the patchset.
I am working on something similar, on the lines of static trace events 
for QEMU, that collect traces in a qemu-internal buffer. This would 
employ monitor commands to read traces, as well as enable/disable trace 
events at runtime.
I plan to post a prototype early next week.

On 05/21/2010 03:12 PM, Stefan Hajnoczi wrote:
> Trace events in QEMU/KVM can be very useful for debugging and performance
> analysis.  I'd like to discuss tracing support and hope others have an interest
> in this feature, too.
>
> Following this email are patches I am using to debug virtio-blk and storage.
> The patches provide trivial tracing support, but they don't address the details
> of real tracing tools: enabling/disabling events at runtime, no overhead for
> disabled events, multithreading support, etc.
>
> It would be nice to have userland tracing facilities that work out-of-the-box
> on production systems.  Unfortunately, I'm not aware of any such facilities out
> there right now on Linux.  Perhaps SystemTap userspace tracing is the way to
> go, has anyone tried it with KVM?
>
> For the medium term, without userspace tracing facilities in the OS we could
> put something into QEMU to address the need for tracing.  Here are my thoughts
> on fleshing out the tracing patch I have posted:
>
> 1. Make it possible to enable/disable events at runtime.  Users enable only the
>     events they are interested in and aren't flooded with trace data for all
>     other events.
>

Agree, my upcoming patchset should address this.

> 2. Either make trace events cheap or build without trace events by default.
>     Disable by default still allows tracing to be used for development but
>     less for production.
>

I'm trying to do this too, though quite a lot remains to be improved in 
my current implementation :-)

> 3. Allow events in any execution context (cpu, io, aio emulation threads).
>

Agree.

> 4. Make it easy to add new events.

Agree ! I'm trying to provide a unified macro interface like trace 
events which makes it easy enough to add new events.


Regards,
-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

WARNING: multiple messages have this Message-ID (diff)
From: Prerna Saxena <prerna@linux.vnet.ibm.com>
To: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [RFC 0/2] Tracing
Date: Fri, 21 May 2010 16:57:37 +0530	[thread overview]
Message-ID: <4BF66E29.5000101@linux.vnet.ibm.com> (raw)
In-Reply-To: <1274434947-2863-1-git-send-email-stefanha@linux.vnet.ibm.com>

Hi Stefan,

Nice to see the patchset.
I am working on something similar, on the lines of static trace events 
for QEMU, that collect traces in a qemu-internal buffer. This would 
employ monitor commands to read traces, as well as enable/disable trace 
events at runtime.
I plan to post a prototype early next week.

On 05/21/2010 03:12 PM, Stefan Hajnoczi wrote:
> Trace events in QEMU/KVM can be very useful for debugging and performance
> analysis.  I'd like to discuss tracing support and hope others have an interest
> in this feature, too.
>
> Following this email are patches I am using to debug virtio-blk and storage.
> The patches provide trivial tracing support, but they don't address the details
> of real tracing tools: enabling/disabling events at runtime, no overhead for
> disabled events, multithreading support, etc.
>
> It would be nice to have userland tracing facilities that work out-of-the-box
> on production systems.  Unfortunately, I'm not aware of any such facilities out
> there right now on Linux.  Perhaps SystemTap userspace tracing is the way to
> go, has anyone tried it with KVM?
>
> For the medium term, without userspace tracing facilities in the OS we could
> put something into QEMU to address the need for tracing.  Here are my thoughts
> on fleshing out the tracing patch I have posted:
>
> 1. Make it possible to enable/disable events at runtime.  Users enable only the
>     events they are interested in and aren't flooded with trace data for all
>     other events.
>

Agree, my upcoming patchset should address this.

> 2. Either make trace events cheap or build without trace events by default.
>     Disable by default still allows tracing to be used for development but
>     less for production.
>

I'm trying to do this too, though quite a lot remains to be improved in 
my current implementation :-)

> 3. Allow events in any execution context (cpu, io, aio emulation threads).
>

Agree.

> 4. Make it easy to add new events.

Agree ! I'm trying to provide a unified macro interface like trace 
events which makes it easy enough to add new events.


Regards,
-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

  parent reply	other threads:[~2010-05-21 11:27 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-21  9:42 [RFC 0/2] Tracing Stefan Hajnoczi
2010-05-21  9:42 ` [Qemu-devel] " Stefan Hajnoczi
2010-05-21  9:42 ` [PATCH 1/2] trace: Add simple tracing support Stefan Hajnoczi
2010-05-21  9:42   ` [Qemu-devel] " Stefan Hajnoczi
2010-05-21  9:49   ` Stefan Hajnoczi
2010-05-21  9:49     ` [Qemu-devel] " Stefan Hajnoczi
2010-05-21 11:13   ` Jan Kiszka
2010-05-21 11:13     ` [Qemu-devel] " Jan Kiszka
2010-05-21 13:10     ` Stefan Hajnoczi
2010-05-21 13:10       ` [Qemu-devel] " Stefan Hajnoczi
2010-05-21 13:22       ` Jan Kiszka
2010-05-21 13:22         ` [Qemu-devel] " Jan Kiszka
2010-05-21 12:37   ` [Qemu-devel] " Anthony Liguori
2010-05-21 13:46     ` Jan Kiszka
2010-05-21 13:46       ` Jan Kiszka
2010-05-21 14:03       ` Anthony Liguori
2010-05-21 14:03         ` Anthony Liguori
2010-05-21 16:52         ` Jan Kiszka
2010-05-21 16:52           ` Jan Kiszka
2010-05-21 20:49           ` Stefan Hajnoczi
2010-05-21 20:49             ` Stefan Hajnoczi
2010-05-21 21:26             ` Christoph Hellwig
2010-05-21 21:26               ` Christoph Hellwig
2010-05-21 21:37             ` Jan Kiszka
2010-05-21 21:37               ` Jan Kiszka
2010-05-21 21:06           ` Anthony Liguori
2010-05-21 21:06             ` Anthony Liguori
2010-05-21 21:41             ` Jan Kiszka
2010-05-21 21:41               ` Jan Kiszka
2010-05-21 21:58               ` Anthony Liguori
2010-05-21 21:58                 ` Anthony Liguori
2010-05-21  9:42 ` [PATCH 2/2] trace: Trace write requests in virtio-blk, multiwrite, and paio_submit Stefan Hajnoczi
2010-05-21  9:42   ` [Qemu-devel] " Stefan Hajnoczi
2010-05-21 11:27 ` Prerna Saxena [this message]
2010-05-21 11:27   ` [Qemu-devel] [RFC 0/2] Tracing Prerna Saxena

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=4BF66E29.5000101@linux.vnet.ibm.com \
    --to=prerna@linux.vnet.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.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 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.