From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49847) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bViT8-0008Rc-DZ for qemu-devel@nongnu.org; Fri, 05 Aug 2016 12:59:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bViT2-0002v6-CL for qemu-devel@nongnu.org; Fri, 05 Aug 2016 12:59:33 -0400 Received: from roura.ac.upc.edu ([147.83.33.10]:52909 helo=roura.ac.upc.es) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bViT1-0002ux-WE for qemu-devel@nongnu.org; Fri, 05 Aug 2016 12:59:28 -0400 From: =?utf-8?b?TGx1w61z?= Vilanova Date: Fri, 5 Aug 2016 18:59:23 +0200 Message-Id: <147041636348.2523.2954972609232949598.stgit@fimbulvetr.bsc.es> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 0/6] hypertrace: Lightweight guest-to-QEMU trace channel List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: 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 'sy= stem' 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 an= d fully synchronized trace log. Another use case is timing the performance of gue= st code when optimizing TCG (QEMU traces have a timestamp). See first commit for a full description. Signed-off-by: Llu=C3=ADs Vilanova --- Llu=C3=ADs Vilanova (6): hypertrace: Add documentation hypertrace: Add tracing event "guest_hypertrace" hypertrace: [*-user] Add QEMU-side proxy to "guest_hypertrace" even= t hypertrace: [softmmu] Add QEMU-side proxy to "guest_hypertrace" eve= nt hypertrace: Add guest-side user-level library hypertrace: Add guest-side Linux module Makefile | 8 - Makefile.objs | 6=20 bsd-user/main.c | 16 + bsd-user/mmap.c | 2=20 bsd-user/syscall.c | 4=20 configure | 42 +++ docs/hypertrace.txt | 141 ++++++++++ docs/tracing.txt | 3=20 hypertrace/Makefile.objs | 20 + hypertrace/guest/linux-module/Kbuild.in | 5=20 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=20 linux-user/main.c | 19 + linux-user/mmap.c | 2=20 linux-user/syscall.c | 3=20 trace/Makefile.objs | 2=20 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-hype= rtrace-internal.h create mode 100644 hypertrace/guest/linux-module/include/linux/qemu-hype= rtrace.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