From patchwork Thu Oct 3 18:53:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 13821447 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 92466CF34BC for ; Thu, 3 Oct 2024 18:55:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=mY6ZpokuIHFUNdpzkuhNDt0hXPF6cPquepWTeokrfgs=; b=Ns20MG9tgXSmIxK7cGBEJDwqZS vMmtdRTjKKnm5vUZrORep12GZMcw/fT8mjOFEZCh+IZg/1aJHuRBZ5D12b+TUgK/nC4XMGtT9yw2x MYrButP3m+fYfDiY7dd/88clV3r6gJDs2lNUe4UAXGF0BokUYvrUG0HK4cDgjLdzgfdfuBr/cJzDc XXwZ6Qmw59fDKRHpTBctx7fp1vIyfkL2hyEKE8/Ra5iACRpd/nRsq8S7d/sfsGPf8U+tW4faB8y4Y UseltLLcL3Jw8fT+TLYMslR1a2Uptx/z/IH6xASQUS4DQISuDulimMnoQzQvutquVZlGZQBoc7xNG F711cKzg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1swQyU-0000000A8Si-3DpX; Thu, 03 Oct 2024 18:54:55 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1swQxD-0000000A8Az-2hke for linux-arm-kernel@lists.infradead.org; Thu, 03 Oct 2024 18:53:37 +0000 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 86921339; Thu, 3 Oct 2024 11:54:04 -0700 (PDT) Received: from e132581.cambridge.arm.com (e132581.arm.com [10.2.76.71]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id F27443F640; Thu, 3 Oct 2024 11:53:32 -0700 (PDT) From: Leo Yan To: Arnaldo Carvalho de Melo , Namhyung Kim , Besar Wicaksono , James Clark , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , "Liang, Kan" , John Garry , Will Deacon , Mike Leach , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Leo Yan Subject: [PATCH v3 0/7] perf arm-spe: Refactor data source encoding Date: Thu, 3 Oct 2024 19:53:15 +0100 Message-Id: <20241003185322.192357-1-leo.yan@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241003_115335_750124_D91A4AE7 X-CRM114-Status: GOOD ( 11.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org As more Arm CPU variants (not only Neoverse CPUs) support data source encoding, they share the same format for the data source packet. To extend supporting these CPU variants for Arm SPE data source, this series refactors the code. It converts the Neoverse specific naming to the common naming, and then based on the MIDR stored in the metadata to decide if the CPU follows up the common encoding format. At the last, it extends CPU list for Neoverse-V2 and Cortex CPUs. This patch series is dependent on the metadata version 2 series [1] for retrieving CPU MIDR. It has been verified for per CPU mode and per thread mode on Cortex-A725 CPUs. [1] https://lore.kernel.org/linux-perf-users/20241003184302.190806-1-leo.yan@arm.com/T/#t Changes from v2: - Rebased on the latest metadata version 2 series [1]. Changes from v1: - Dropped LDS bit checking in data source parsing. Besar Wicaksono (1): perf arm-spe: Add Neoverse-V2 to common data source encoding list Leo Yan (6): perf arm-spe: Rename arm_spe__synth_data_source_generic() perf arm-spe: Rename the common data source encoding perf arm-spe: Introduce arm_spe__is_homogeneous() perf arm-spe: Use metadata to decide the data source feature perf arm-spe: Remove the unused 'midr' field perf arm-spe: Add Cortex CPUs to common data source encoding list .../util/arm-spe-decoder/arm-spe-decoder.h | 18 +-- tools/perf/util/arm-spe.c | 135 +++++++++++++++--- 2 files changed, 121 insertions(+), 32 deletions(-) Reviewed-by: James Clark