All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] Re: Static tracepoint control via trace-event
Date: Tue, 19 Oct 2010 14:30:58 +0100	[thread overview]
Message-ID: <20101019133057.GA3950@stefan-thinkpad.transitives.com> (raw)
In-Reply-To: <4CBD9838.6040004@siemens.com>

On Tue, Oct 19, 2010 at 03:08:08PM +0200, Jan Kiszka wrote:
> One quirk I stumbled over quickly was the "disable" tag in trace-events.
> It confused me first as qemu starts without any tracepoint enabled by
> default and I thought I had to hack the file. Then I read the doc and
> wondered which exiting or future backend would come without sufficiently
> fast dynamic tracepoint control. Do you have any in mind?
> 
> Instead of making it a compile-time switch (except for simpletrace), I
> would vote for declaring the simpletrace usage as the only one: disable
> sets the default state of the dynamic tracepoint. That way we could use
> trace-events to define a useful set of standard, moderate-impact
> tracepoints that shall be on. Others will still be available once a
> backend is configured, but remain off until enabled during runtime.
> Anything else looks like overkill to me.

The motivation for "disable" producing a nop trace event is that it
allows QEMU builds without certain trace events.  A trace event cannot
simply be removed by deleting its trace-events declaration since there
are calls to its trace_*() function in the source tree.  So this
provided a way to disable trace events before simpletrace supported
enabling/disabling trace events at runtime :).

Today that's no longer an issue for simpletrace and other tracing
backends like LTTng UST and SystemTAP handle disabled trace events well.

I agree that keeping just one meaning for the "disable" keyword is
better.  Perhaps we should keep a separate "nop" keyword to build out
specific trace events.

When would "nop" be handy?  I think an ftrace backend is a good example.
Since an ftrace marker cannot be enabled/disabled at runtime, the only
way to silence unwanted trace events is to "nop" them at compile-time.

> There are a few more things I have in mind (ftrace backend, enhanced
> "-trace" switch, wildcards for enabling tracepoints, and more
> tracepoints). Will hopefully come up with patches to address them, but
> this may take a while.

Sounds great.

> PS: Do you maintain a tracing git tree?

No, I'm reviewing patches as they are posted for qemu-devel.  If the
backlog between mailing list discussion and merge reaches the point
where your patches are suffering conflicts please let me know and I can
maintain one.

For the initial QEMU tracing effort I kept a tree but I stopped after
the patches were accepted into mainline.  The patches I write go
straight to qemu-devel now.

Stefan

  reply	other threads:[~2010-10-19 13:31 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-19 13:08 [Qemu-devel] Static tracepoint control via trace-event Jan Kiszka
2010-10-19 13:30 ` Stefan Hajnoczi [this message]
2010-10-19 13:46   ` [Qemu-devel] " Jan Kiszka
2010-10-19 14:03     ` Stefan Hajnoczi
2010-10-19 14:12     ` Daniel P. Berrange
2010-10-19 14:30       ` Jan Kiszka
2010-10-19 13:36 ` [Qemu-devel] " Daniel P. Berrange
2010-10-19 13:52   ` Stefan Hajnoczi
2010-10-19 13:59     ` Jan Kiszka
2010-10-19 14:29       ` Tracing block devices (was: Re: [Qemu-devel] Static tracepoint control via trace-event) Richard W.M. Jones
2010-10-19 14:38         ` [Qemu-devel] Re: Tracing block devices Jan Kiszka
2010-10-19 14:44         ` Tracing block devices (was: Re: [Qemu-devel] Static tracepoint control via trace-event) Stefan Hajnoczi
2010-10-21  5:20         ` Christoph Hellwig
2010-10-21  7:38           ` Richard W.M. Jones
2010-10-21  9:04           ` Stefan Hajnoczi
2010-10-21  8:51         ` Daniel P. Berrange

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=20101019133057.GA3950@stefan-thinkpad.transitives.com \
    --to=stefanha@linux.vnet.ibm.com \
    --cc=jan.kiszka@siemens.com \
    --cc=qemu-devel@nongnu.org \
    /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.