All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/6] hypertrace: Lightweight guest-to-QEMU trace channel
@ 2016-09-05 18:56 Lluís Vilanova
  2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 1/6] hypertrace: Add documentation Lluís Vilanova
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Lluís Vilanova @ 2016-09-05 18:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P Berrange, Luiz Capitulino, Eric Blake, Stefan Hajnoczi

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>
---

Changes in v2
=============

* Remove unnecessary casts for g2h() [Eric Blake].
* Use perror() [Eric Blake].
* Avoid expansions in application example [Eric Blake].
* Add copyright in document "hypertrace.txt" [Eric Blake].
* Make the user-mode hypertrace invocations thread-safe [Stefan Hajnoczi].
* Split dynamic hypertrace configuration into a separate "config" channel.

Changes in v3
=============

* Fix calculation of arguments.
* Rebase on e00da55

Lluís Vilanova (6):
      hypertrace: Add documentation
      hypertrace: Add tracing event "guest_hypertrace"
      hypertrace: [*-user] Add QEMU-side proxy to "guest_hypertrace" event
      hypertrace: [softmmu] Add QEMU-side proxy to "guest_hypertrace" event
      hypertrace: Add guest-side user-level library
      hypertrace: Add guest-side Linux module


 Makefile                                           |    8 
 Makefile.objs                                      |    6 
 bsd-user/main.c                                    |   16 +
 bsd-user/mmap.c                                    |   15 +
 bsd-user/syscall.c                                 |   31 +-
 configure                                          |   40 ++
 docs/hypertrace.txt                                |  227 +++++++++++++
 docs/tracing.txt                                   |    3 
 hypertrace/Makefile.objs                           |   21 +
 hypertrace/common.c                                |   26 ++
 hypertrace/common.h                                |   24 +
 hypertrace/guest/linux-module/Kbuild.in            |    7 
 hypertrace/guest/linux-module/Makefile             |   23 +
 .../include/linux/qemu-hypertrace-internal.h       |   46 +++
 .../linux-module/include/linux/qemu-hypertrace.h   |   73 ++++
 hypertrace/guest/linux-module/qemu-hypertrace.c    |  146 +++++++++
 hypertrace/guest/user/Makefile                     |   30 ++
 hypertrace/guest/user/common.c                     |  301 ++++++++++++++++++
 hypertrace/guest/user/qemu-hypertrace.h            |   80 +++++
 hypertrace/softmmu.c                               |  235 ++++++++++++++
 hypertrace/user.c                                  |  339 ++++++++++++++++++++
 hypertrace/user.h                                  |   61 ++++
 include/hw/pci/pci.h                               |    2 
 include/qom/cpu.h                                  |    4 
 linux-user/main.c                                  |   19 +
 linux-user/mmap.c                                  |   17 +
 linux-user/qemu.h                                  |    3 
 linux-user/syscall.c                               |   31 +-
 trace/Makefile.objs                                |    2 
 29 files changed, 1809 insertions(+), 27 deletions(-)
 create mode 100644 docs/hypertrace.txt
 create mode 100644 hypertrace/Makefile.objs
 create mode 100644 hypertrace/common.c
 create mode 100644 hypertrace/common.h
 create mode 100644 hypertrace/guest/linux-module/Kbuild.in
 create mode 100644 hypertrace/guest/linux-module/Makefile
 create mode 100644 hypertrace/guest/linux-module/include/linux/qemu-hypertrace-internal.h
 create mode 100644 hypertrace/guest/linux-module/include/linux/qemu-hypertrace.h
 create mode 100644 hypertrace/guest/linux-module/qemu-hypertrace.c
 create mode 100644 hypertrace/guest/user/Makefile
 create mode 100644 hypertrace/guest/user/common.c
 create mode 100644 hypertrace/guest/user/qemu-hypertrace.h
 create mode 100644 hypertrace/softmmu.c
 create mode 100644 hypertrace/user.c
 create mode 100644 hypertrace/user.h


To: qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Eric Blake <eblake@redhat.com>
Cc: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Daniel P Berrange <berrange@redhat.com>

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-09-14 14:37 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-05 18:56 [Qemu-devel] [PATCH v2 0/6] hypertrace: Lightweight guest-to-QEMU trace channel Lluís Vilanova
2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 1/6] hypertrace: Add documentation Lluís Vilanova
2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 2/6] hypertrace: Add tracing event "guest_hypertrace" Lluís Vilanova
2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 3/6] hypertrace: [*-user] Add QEMU-side proxy to "guest_hypertrace" event Lluís Vilanova
2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 4/6] hypertrace: [softmmu] " Lluís Vilanova
2016-09-06  1:43   ` Michael S. Tsirkin
2016-09-09 13:19     ` Lluís Vilanova
2016-09-14 14:37     ` Stefan Hajnoczi
2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 5/6] hypertrace: Add guest-side user-level library Lluís Vilanova
2016-09-05 18:56 ` [Qemu-devel] [PATCH v2 6/6] hypertrace: Add guest-side Linux module Lluís Vilanova
2016-09-05 19:23 ` [Qemu-devel] [PATCH v2 0/6] hypertrace: Lightweight guest-to-QEMU trace channel no-reply
2016-09-06  9:11   ` [Qemu-devel] Checkpatch false positives (Was: Re: [PATCH v2 0/6] hypertrace: Lightweight guest-to-QEMU trace channel) Lluís Vilanova
2016-09-06  9:16     ` Paolo Bonzini
2016-09-06 10:19       ` [Qemu-devel] Checkpatch false positives Lluís Vilanova

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.