From: "Lluís Vilanova" <vilanova@ac.upc.edu>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Hollis Blanchard <hollis_blanchard@mentor.com>,
QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] trace: timestamps, core IDs, and file creation
Date: Mon, 08 Feb 2016 17:29:28 +0100 [thread overview]
Message-ID: <87k2mfp3mf.fsf@fimbulvetr.bsc.es> (raw)
In-Reply-To: <20160208153014.GD31586@stefanha-x1.localdomain> (Stefan Hajnoczi's message of "Mon, 8 Feb 2016 15:30:14 +0000")
Stefan Hajnoczi writes:
> On Wed, Jan 13, 2016 at 03:13:02PM -0800, Hollis Blanchard wrote:
>> Hi Stefan, I've been starting to use qemu tracing and found it quite useful.
>> I have a couple comments about the trace events in general:
> Sorry for the late reply.
>> The event timestamps are host time (get_clock()). I'm correlating qemu
>> events with other logs (using icount), so host time is unhelpful. Could we
>> use cpu_get_clock() instead? (Trace events are used in other tools like
>> qemu-io, where guest time doesn't exist, and there we could continue to use
>> get_clock().)
> It must be possible to trace code while the guest CPUs are stopped, so
> cpu_get_clock() on own breaks existing users.
> If the CPU clock is more convenient for you, perhaps you can add an
> option to use that clocksource?
Hmmmm, what about abusing the "vcpu" event property I sent to automatically emit
the vCPU icount? We could make that a compile-time option. This also makes me
think that the print format for the vCPU can be auto-generated by tracetool (it
must now be set explicitly), so that what's printed can be easily interchanged.
We can make that a follow-up series.
>> When trying to understand multi-core guest behavior, it's pretty important
>> to know which core is performing the traced action (e.g. MMIO). Would it
>> make sense to automatically embed the core index, like the timestamp, or do
>> you think it should be encoded in each individual tracepoint?
> I think that Lluís has some of this stuff automated in his TCG tracing
> work. He has added special trace event types for TCG that can be
> planted at code generation time as well as TB execution time. They can
> include the vcpu number automatically IIRC.
Yup, that's the last series I sent, which hasn't been reviewed yet:
https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg05996.html
If any event (including outside tcg code) has a pointer to the "guilty" vCPU,
support for showing the vCPU can be easily added.
> Regarding I/O emulation, we have to be careful because architecturally
> some types of devices (e.g. PCI devices) don't have the concept of which
> core is performing an action. QEMU takes advantage of that with
> ioeventfd where a lightweight vmexit simply marks an eventfd file
> descriptor readable in the kernel and quickly returns back to vcpu
> execution. Another QEMU thread monitors the eventfd and processes the
> notification and there is no concept of the current vcpu at that point.
> It might be easiest to include the vcpu id in the trace event explicitly
> for now.
See the two responses above.
Cheers,
Lluis
next prev parent reply other threads:[~2016-02-08 16:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-13 23:13 [Qemu-devel] trace: timestamps, core IDs, and file creation Hollis Blanchard
2016-02-08 15:30 ` Stefan Hajnoczi
2016-02-08 16:29 ` Lluís Vilanova [this message]
2016-02-08 18:51 ` [Qemu-devel] [PATCH] trace: only create simple backend trace files when an event is emitted Hollis Blanchard
2016-02-08 20:02 ` Alex Bennée
2016-02-15 15:52 ` Stefan Hajnoczi
2016-02-15 15:54 ` Stefan Hajnoczi
2016-02-08 19:59 ` [Qemu-devel] trace: timestamps, core IDs, and file creation Hollis Blanchard
2016-02-15 15:29 ` Stefan Hajnoczi
2016-02-08 18:01 ` Alex Bennée
2016-02-08 18:34 ` Alex Bennée
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=87k2mfp3mf.fsf@fimbulvetr.bsc.es \
--to=vilanova@ac.upc.edu \
--cc=hollis_blanchard@mentor.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@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.