From: "Lluís Vilanova" <vilanova@ac.upc.edu>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: "Emilio G. Cota" <cota@braap.org>,
qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v8 0/5] hypertrace: Lightweight guest-to-QEMU trace channel
Date: Thu, 31 Aug 2017 18:13:21 +0300 [thread overview]
Message-ID: <87wp5ju5wu.fsf@frigg.lan> (raw)
In-Reply-To: <20170831115935.GQ13619@stefanha-x1.localdomain> (Stefan Hajnoczi's message of "Thu, 31 Aug 2017 12:59:35 +0100")
Stefan Hajnoczi writes:
> On Fri, Aug 25, 2017 at 08:34:54PM -0400, Emilio G. Cota wrote:
>> On Sun, Jul 30, 2017 at 17:08:18 +0300, Lluís Vilanova wrote:
>> > The hypertrace channel allows guest code to emit events in QEMU (the host) using
>> > its tracing infrastructure (see "docs/trace.txt"). This works in both 'system'
>> > and 'user' modes, is architecture-agnostic and introduces minimal noise on the
>> > guest.
>> >
>> > See first commit for a full description, use-cases and an example.
>> >
>> > Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
>>
>> This would be indeed very useful once TCG instrumentation is in place.
>>
>> However, I'm not very excited about this being PCI-only and Linux-only for
>> system mode
>> I wonder how we could make this work on all hosts -- did you consider using
>> "magic" instructions? We'd need a different magic instruction for each
>> guest ISA, but the library would hide that anyway (and the library code
>> would be the same for user and system modes).
> Magic instructions can potentially be implemented more efficiently in
> TCG too. They wouldn't work under KVM/HAX/hvf accelerators though.
Yes, we discussed this on the first version of this series long ago. The special
device makes it work on both TCG and KVM (if it were possible to implement a
TCG-to/from-KVM mode switch that'd be awesome).
Also, both approaches have negligible performance impact on the *guest* time.
Cheers,
Lluis
prev parent reply other threads:[~2017-08-31 15:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-30 14:08 [Qemu-devel] [PATCH v8 0/5] hypertrace: Lightweight guest-to-QEMU trace channel Lluís Vilanova
2017-07-30 14:12 ` [Qemu-devel] [PATCH v8 1/5] hypertrace: Add documentation Lluís Vilanova
2017-08-04 17:50 ` Eric Blake
2017-07-30 14:16 ` [Qemu-devel] [PATCH v8 2/5] hypertrace: Add tracing event "guest_hypertrace" Lluís Vilanova
2017-07-30 14:20 ` [Qemu-devel] [PATCH v8 3/5] hypertrace: [*-user] Add QEMU-side proxy to "guest_hypertrace" event Lluís Vilanova
2017-07-30 14:24 ` [Qemu-devel] [PATCH v8 4/5] hypertrace: [softmmu] " Lluís Vilanova
2017-07-30 14:28 ` [Qemu-devel] [PATCH v8 5/5] hypertrace: Add guest-side user-level library Lluís Vilanova
2017-07-30 14:49 ` [Qemu-devel] [PATCH v8 0/5] hypertrace: Lightweight guest-to-QEMU trace channel no-reply
2017-08-04 15:34 ` Stefan Hajnoczi
2017-08-04 18:32 ` Lluís Vilanova
2017-08-08 12:25 ` Stefan Hajnoczi
2017-08-26 0:34 ` Emilio G. Cota
2017-08-31 11:59 ` Stefan Hajnoczi
2017-08-31 15:13 ` Lluís Vilanova [this message]
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=87wp5ju5wu.fsf@frigg.lan \
--to=vilanova@ac.upc.edu \
--cc=cota@braap.org \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.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.