[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/6] hypertrace: Lightweight guest-to-QEMU trace cha
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH 0/6] hypertrace: Lightweight guest-to-QEMU trace channel |
Date: |
Fri, 5 Aug 2016 18:59:23 +0200 |
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. That is, hypertrace is to tracing, what hypercalls are to
system calls.
You can use this to emit an event on both guest and QEMU (host) traces to easily
synchronize or correlate them. You could also modify you guest's tracing system
to emit all events through the hypertrace channel, providing a unified and fully
synchronized trace log. Another use case is timing the performance of guest code
when optimizing TCG (QEMU traces have a timestamp).
See first commit for a full description.
Signed-off-by: Lluís Vilanova <address@hidden>
---
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 | 2
bsd-user/syscall.c | 4
configure | 42 +++
docs/hypertrace.txt | 141 ++++++++++
docs/tracing.txt | 3
hypertrace/Makefile.objs | 20 +
hypertrace/guest/linux-module/Kbuild.in | 5
hypertrace/guest/linux-module/Makefile | 24 ++
.../include/linux/qemu-hypertrace-internal.h | 46 +++
.../linux-module/include/linux/qemu-hypertrace.h | 71 +++++
hypertrace/guest/linux-module/qemu-hypertrace.c | 133 +++++++++
hypertrace/guest/user/Makefile | 28 ++
hypertrace/guest/user/common.c | 221 +++++++++++++++
hypertrace/guest/user/qemu-hypertrace.h | 77 +++++
hypertrace/softmmu.c | 243 +++++++++++++++++
hypertrace/user.c | 292 ++++++++++++++++++++
hypertrace/user.h | 52 ++++
include/hw/pci/pci.h | 2
linux-user/main.c | 19 +
linux-user/mmap.c | 2
linux-user/syscall.c | 3
trace/Makefile.objs | 2
25 files changed, 1460 insertions(+), 2 deletions(-)
create mode 100644 docs/hypertrace.txt
create mode 100644 hypertrace/Makefile.objs
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: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
- [Qemu-devel] [PATCH 0/6] hypertrace: Lightweight guest-to-QEMU trace channel,
Lluís Vilanova <=