Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp5404480rwd; Mon, 12 Jun 2023 04:50:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4Jb8Wk2JLIj4it9K4DyOt/oiVD8mtYxjO9RLhMPjAlunrsWNuxxfOTyyfcw3GNzx1qDo3a X-Received: by 2002:a17:90a:fd8a:b0:25c:592:722f with SMTP id cx10-20020a17090afd8a00b0025c0592722fmr73597pjb.17.1686570624815; Mon, 12 Jun 2023 04:50:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686570624; cv=none; d=google.com; s=arc-20160816; b=elNriK7Xtuw/JQiuK4gcaBneAQh9xMKvNVzcw+/O3oum3r1QLPnM/9ipmJZf8tnIpM Y3qGJlnmpdlR/2ignCqDOzQeHnrbrZWY/7RkO6HkOvyE59Qa4WX40gSebrzfvfGHMy3v GU3TIouZ8I+G/i9FKuA0kwqYlYX1IL2G6OnoJNuofkv83swqZhz0orJgU+87HH4ml+LQ /Dkk4ShZVSyxJ/MY4UdcXzN/PCEEQL65e5b8cF2KummQdwu/AeW1w+pAJHoP+9z0lDyY gbJtxVxWh3QWntP7ovH51j0cZIPOWInXi8MYGsg5TA4SrDBqhIGqd/J95s+ulWLz2sKN xVgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=qJE4E9GoXqFdyqnwz1z8/uUaKwFgm8oBwPFahMSfUH4=; b=BaK78BjlVQQoNjFopYE9M0wxTa5XedxCvJ63AmlyQqa07j4/6a1opowU9G0xtzBasV UU166kVFlGdErZEjhuu/OeUmaDy6Gmp/wT/+5Q3C0MCoxRpa04vRAhqZrpV5dA94sgg2 2A70Vu41Wzxp9nOAHDm2h2hGDYZVLDsEsoLXnzsjBP7JpNuVWaMRxC7BqM9TaRG7PlfM 0hwM5bHUmBHh0D/AKDYHyevTsxsd2IaDscBAHMkxN4O/6NJn8NX+pV4/Hm0Vzn5pIiE8 9N0Nx0+5/A041o6HogvCbaJUjZrHlLmI+kqrF2LQhJJt9iVUkLLHkXIx5rwhyvmIZ8h/ hipw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nh11-20020a17090b364b00b0025bf9d28b28si521949pjb.104.2023.06.12.04.50.13; Mon, 12 Jun 2023 04:50:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230335AbjFLLgT (ORCPT + 99 others); Mon, 12 Jun 2023 07:36:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53778 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236484AbjFLLf6 (ORCPT ); Mon, 12 Jun 2023 07:35:58 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B39A276A3; Mon, 12 Jun 2023 04:14:09 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9AB4F1FB; Mon, 12 Jun 2023 04:14:54 -0700 (PDT) Received: from e127643.broadband (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id F0C093F587; Mon, 12 Jun 2023 04:14:05 -0700 (PDT) From: James Clark To: coresight@lists.linaro.org Cc: James Clark , Suzuki K Poulose , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , John Garry , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 0/5] perf cs-etm: Track exception level Date: Mon, 12 Jun 2023 12:13:57 +0100 Message-Id: <20230612111403.100613-1-james.clark@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes since v2: * Rename prev_thread -> prev_packet_thread and prev_el -> prev_packet_el * Add a comment about tracking the previous packet's thread Changes since v1: * Always assume host kernel when the trace was captured at EL1 (nVHE) * Fix EL validation to work with ETMv3 * Add a commit to make PID format accessible from struct cs_etm_auxtrace ====== Some fixes to support an issue reported by Denis Nikitin where decoding trace that contains different EL1 and EL2 kernels can crash or go into an infinite loop because the wrong kernel maps are used for the decode. This still doesn't support distinguishing guest and host userspace, we'd still have to fix the timestamps and do a bit more work to correlate that. And I've removed PERF_RECORD_MISC_HYPERVISOR as a possible outcome of cs_etm__cpu_mode(). As far as I know this could never have been returned anyway because machine__is_host(machine) was always true due to session.machines.host being hard coded. And I'm not sure of the relevance of the difference between PERF_RECORD_MISC_KERNEL and PERF_RECORD_MISC_HYPERVISOR in this scenario. The first commit is a tidy up, second fixes a bug that I found when comparing the exception level and thread of branch records, the third is the main fix, and the last commit is some extra error checking. Applies to acme/perf-tools-next (42713dafc) James Clark (5): perf cs-etm: Only track threads instead of PID and TIDs perf cs-etm: Use previous thread for branch sample source IP perf cs-etm: Make PID format accessible from struct cs_etm_auxtrace perf cs-etm: Track exception level perf cs-etm: Add exception level consistency check .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 33 +- .../perf/util/cs-etm-decoder/cs-etm-decoder.h | 4 +- tools/perf/util/cs-etm.c | 282 ++++++++++-------- tools/perf/util/cs-etm.h | 13 +- 4 files changed, 184 insertions(+), 148 deletions(-) -- 2.34.1