qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v5 0/5] hypertrace: Lightweight guest-to-QEMU trace


From: Lluís Vilanova
Subject: [Qemu-devel] [PATCH v5 0/5] hypertrace: Lightweight guest-to-QEMU trace channel
Date: Wed, 26 Jul 2017 19:48:25 +0300
User-agent: StGit/0.17.1-dirty

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 <address@hidden>
---

Changes in v5
=============

* Rebase on 5a477a7806.
* Fix typo in "bsd-user/main.c" [Stephan Hajnoczi].
* Replace abort() with exit() in command-line errors [Stephan Hajnoczi].
* Fix alignment of data and control channels [Stephan Hajnoczi].
* Fix signal reflection in user-mode (SIGINT, SIGABRT, SIGSEGV) [Stephan 
Hajnoczi].
* Clarify semantics of hypertrace_guest_mmap_check() [Stephan Hajnoczi].
* Use uintptr_t instead of unsigned long in SEGV handler [Stephan Hajnoczi].
* Emit hypertrace's event with host-endian arguments [Stephan Hajnoczi].
* Enable true concurrency between user-mode guest threads by using a spearate 
control channel page per client [Stephan Hajnoczi].
* Remove unused PAGE_SIZE define [Stephan Hajnoczi].
* Submit linux kernel API module separately to Linux upstream [Stephan 
Hajnoczi].
* Assume guest code events are always enabled.


Changes in v4
=============

* Fix typo in stap script example.
* Fix compilation instructions in doc/hypertrace.txt.
* Rebase on 0737f32daf.


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

* Rebase on 4a58f35.
* Remove debugging printf's.
* Fix style issues identified by checkpatch.
* Fix control channel mapping in guest linux module.
* Add a short event description in "trace-events".
* Polish documentation in 1st patch.


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.

Lluís Vilanova (5):
      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


 Makefile                           |   12 +
 Makefile.objs                      |    6 +
 bsd-user/main.c                    |   17 +
 bsd-user/mmap.c                    |   15 +
 bsd-user/syscall.c                 |   34 ++-
 configure                          |   36 +++
 docs/devel/tracing.txt             |    3 
 docs/hypertrace.txt                |  225 ++++++++++++++++++++
 hypertrace/Makefile.objs           |   23 ++
 hypertrace/common.c                |   55 +++++
 hypertrace/common.h                |   25 ++
 hypertrace/guest/Makefile          |   30 +++
 hypertrace/guest/common.c          |  301 ++++++++++++++++++++++++++
 hypertrace/guest/qemu-hypertrace.h |   80 +++++++
 hypertrace/softmmu.c               |  235 ++++++++++++++++++++
 hypertrace/user.c                  |  414 ++++++++++++++++++++++++++++++++++++
 hypertrace/user.h                  |   71 ++++++
 include/hw/pci/pci.h               |    2 
 include/qom/cpu.h                  |    4 
 linux-user/main.c                  |   19 ++
 linux-user/mmap.c                  |   16 +
 linux-user/qemu.h                  |    3 
 linux-user/signal.c                |   12 +
 linux-user/syscall.c               |   31 ++-
 trace-events                       |   11 +
 25 files changed, 1651 insertions(+), 29 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/Makefile
 create mode 100644 hypertrace/guest/common.c
 create mode 100644 hypertrace/guest/qemu-hypertrace.h
 create mode 100644 hypertrace/softmmu.c
 create mode 100644 hypertrace/user.c
 create mode 100644 hypertrace/user.h


To: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
Cc: Eric Blake <address@hidden>
Cc: Luiz Capitulino <address@hidden>
Cc: Daniel P Berrange <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]