From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aW9Wi-0008H1-1t for qemu-devel@nongnu.org; Wed, 17 Feb 2016 16:20:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aW9Wd-0000HO-GZ for qemu-devel@nongnu.org; Wed, 17 Feb 2016 16:20:47 -0500 Received: from roura.ac.upc.edu ([147.83.33.10]:57575 helo=roura.ac.upc.es) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aW9Wd-0000Gs-47 for qemu-devel@nongnu.org; Wed, 17 Feb 2016 16:20:43 -0500 From: =?utf-8?b?TGx1w61z?= Vilanova Date: Wed, 17 Feb 2016 22:20:39 +0100 Message-Id: <145574403964.3171.7174641938727952404.stgit@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v70/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?= , Eduardo Habkost , Stefan Hajnoczi 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 v7 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * Fix the modified event copying code. * Minor fix in commit message for patch 3. 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 | 31 ++++++++-- 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, 224 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