From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49320) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTFcF-0001mT-Cb for qemu-devel@nongnu.org; Tue, 09 Feb 2016 16:14:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTFcC-0001Vd-1C for qemu-devel@nongnu.org; Tue, 09 Feb 2016 16:14:31 -0500 Received: from roura.ac.upc.es ([147.83.33.10]:58174) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTFcB-0001V2-LW for qemu-devel@nongnu.org; Tue, 09 Feb 2016 16:14:27 -0500 From: =?utf-8?b?TGx1w61z?= Vilanova Date: Tue, 9 Feb 2016 22:14:24 +0100 Message-Id: <145505246212.4785.2237668256809452874.stgit@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v6 0/4] trace: Show vCPU info in guest code events List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Stefan Hajnoczi , Eduardo Habkost NOTE: This series should complete the framework for guest code tracing. F= rom here on, other series can concurrently add actual events and improv= e the guest code tracing features and performance (e.g., control tracing independently on each vCPU). This series introduces the "vcpu" property for tracing events. This prope= rty identifies events that are tied to a particular virtual CPU (e.g., execut= ing an instruction). Events with this property have an implicit vcpu argument, which is shown = in the trace. In the case of events executed at TCG translation time, two implic= it arguments are added: * The vCPU performing the code translation (shown in the translation-time= trace) * The vCPU executing the translated code (shown in the execution-time tra= ce) Note that the "vcpu" and "tcg" properties are not merged into a single on= e, since events can be defined that relate to a vCPU but are never raised fr= om TCG code (e.g., interrupts). Changes in v6 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Rebase on 84c0781. * Replace the added 'TCGv_cpu' type for 'TCGv_env', since the users are r= eally pointing to 'CPUArchState'. * Add functions to simplify event argument management. * Add minor event copy cleanup (remove long "event.original.original" cha= ins). * Make it easier to change arguments injected by the 'vcpu' property. Changes in v5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Rebase on 357e81c. * Split from the previous (larger and more complex) v4 series. Changes in v4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Fix typo in commit message (Stefan Hajnoczi). * Simplify per-vCPU tracing state initialization (Stefan Hajnoczi). * Update copyright years. Changes in v3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Update QAPI version (Eric Blake). * Fix '#optional' annotation in QAPI (Eric Blake). Changes in v2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Rebase on 5522a84. * Improve patch descriptions. * Refactor code generation into a separate patch. * Fix forward declarations (Stefan Hajnoczi & Eduardo Habkost). * Fix "since" tags in QAPI interface (Eric Blake). * Unify QAPI/QMP interface with an optional 'vcpu' argument (Eric Blake). * Fix QMP+GTK header workaround (Stefan Hajnoczi). Signed-off-by: Llu=C3=ADs Vilanova Acked-by: Stefan Hajnoczi --- Llu=C3=ADs Vilanova (4): trace: Extend API to manage event arguments trace: Remove unnecessary intermediate event copies tcg: Add type for vCPU pointers trace: Add 'vcpu' event property to trace guest vCPU docs/tracing.txt | 41 +++++++++++++ include/qemu/typedefs.h | 1=20 scripts/tracetool/__init__.py | 30 +++++++--- scripts/tracetool/format/events_h.py | 4 + scripts/tracetool/format/h.py | 3 + scripts/tracetool/format/tcg_h.py | 33 +++++++---- scripts/tracetool/format/tcg_helper_c.py | 35 +++++++++-- scripts/tracetool/format/tcg_helper_h.py | 7 +- scripts/tracetool/format/tcg_helper_wrapper_h.py | 5 +- scripts/tracetool/format/ust_events_c.py | 1=20 scripts/tracetool/transform.py | 4 + scripts/tracetool/vcpu.py | 69 ++++++++++++++++= ++++++ target-alpha/translate.c | 2 - target-arm/translate.c | 2 - target-arm/translate.h | 2 - target-cris/translate.c | 2 - target-i386/translate.c | 2 - target-lm32/translate.c | 2 - target-m68k/translate.c | 2 - target-microblaze/translate.c | 2 - target-mips/translate.c | 2 - target-moxie/translate.c | 2 - target-openrisc/translate.c | 2 - target-ppc/translate.c | 2 - target-s390x/translate.c | 2 - target-sh4/translate.c | 2 - target-sparc/translate.c | 5 +- target-tilegx/translate.c | 2 - target-tricore/translate.c | 2 - target-unicore32/translate.c | 2 - target-xtensa/translate.c | 2 - tcg/tcg.h | 1=20 trace/control.h | 3 + 33 files changed, 223 insertions(+), 55 deletions(-) create mode 100644 scripts/tracetool/vcpu.py To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi Cc: Eduardo Habkost Cc: Eric Blake Cc: Alex Benn=C3=A9e