From nobody Sun Feb 8 09:12:06 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11CA8C7EE2E for ; Tue, 13 Jun 2023 09:56:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241439AbjFMJ4a (ORCPT ); Tue, 13 Jun 2023 05:56:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239303AbjFMJ4L (ORCPT ); Tue, 13 Jun 2023 05:56:11 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2079.outbound.protection.outlook.com [40.107.94.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE6A0AC; Tue, 13 Jun 2023 02:56:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ye9CjcuHvzkt1UajV0vILjWw9u+mMuBxyKvJwFrlXSACb8jedkuEXIdledBEta0t1Fmn8hSAdk3+rAZY1EOXvNm1Av7LZDw7dJJOghXVXsTStq+X72SAbRDO/yIqb7N0k921IHNLaOhp5pKVguWs2b05t6/bL6SR8cV4zmXfXfq7xU6N2l2jyVdp3EYCibK6C+rGeeDn09Sf8UGfHl2x20k5H4HQqgkFmeFiVV6d2eyeLR7Hz6ULk30uhqO31Q+dAqFtbtDh1BILFB33RuVN7/9L3DlPydxFbp1Q72ELnch9u9QSTiwej4JSteb1ER6mRePqS56Yus3LV3c1vRVAYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=50vvT41NwDLxyhkBq1NDRLwAEesxjaNVxn51b/c3rug=; b=Hh3iyCCgKx0Wl8+afpkQK61M/FSJ1tK21V0YwfFrKRClgJyiQcTSroesDiBsECcDRvE4umSAxWVm6VqBE0qeuyg6E5HQQE0aeE1AaBt71nEk/1e+T2rTmCYSC4IAqxgKAYgAGlqLHN8WCH0OzNsaBXtxOS3rPRbneNMKLRfppb1celxsxmsrxiTk4EHjWWFftG8hDM1FsjF9gJ/A5gv2HFVDep/3dAZgKWBwSEKBWfRCb+nJGVGLOpvN2FxgxESFW41EloAa0NV9mShQz3Bi7DMibdWM3rc8dWgGpCtuvfaSiirgeat6IaNXdn/bLAKdVIuGYCqUuY2HaqCEx52ecA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=50vvT41NwDLxyhkBq1NDRLwAEesxjaNVxn51b/c3rug=; b=JTsrGqxsoBD4AT7VafhEWL0HJXhghGOig+KWiZAt5s0PNPLqMgSh4UotS7mWucgL3e/O5Iq7ChB+IzbMLbV7aYy3R2RtepqicMDRY84k6tBpVbtuNw50m1fqqqEFdAgforLzDTHPJZgUwtWnpGE1teBUWCb3cW5pr9+qrtgq0Dc= Received: from SA1P222CA0126.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c5::15) by SN7PR12MB7153.namprd12.prod.outlook.com (2603:10b6:806:2a4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Tue, 13 Jun 2023 09:56:06 +0000 Received: from SN1PEPF0002636C.namprd02.prod.outlook.com (2603:10b6:806:3c5:cafe::1f) by SA1P222CA0126.outlook.office365.com (2603:10b6:806:3c5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.35 via Frontend Transport; Tue, 13 Jun 2023 09:56:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636C.mail.protection.outlook.com (10.167.241.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.23 via Frontend Transport; Tue, 13 Jun 2023 09:56:04 +0000 Received: from BLR-5CG113396H.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 13 Jun 2023 04:55:59 -0500 From: Ravi Bangoria To: CC: , , , , , , , , , , , , , , , , Subject: [PATCH 1/4] perf pmus: Describe semantics of 'core_pmus' and 'other_pmus' Date: Tue, 13 Jun 2023 15:25:03 +0530 Message-ID: <20230613095506.547-2-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230613095506.547-1-ravi.bangoria@amd.com> References: <20230613095506.547-1-ravi.bangoria@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|SN7PR12MB7153:EE_ X-MS-Office365-Filtering-Correlation-Id: f7bbad3a-4b32-4eed-c16a-08db6bf46719 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6lrXD6XhbAkaC8nAX71aqCcDyYSMdlkGM1ESYPQvG1zxZQ71h+09PoL55TozS0n+WBvHEGPsoPpaWDdA0LR1YTD6m/FvN8NA2F4McBcauGoxx2kBdJYHCKYiTShMPZfO7j4tP4kYiQKyNOI3o6bJDnDtO8wmsrz1gldoFD+HnViOLtm0C/HG0UFEVYV7jp1ifppHwfhNwdHqQghKAFJw2lhEYeMv6864gbLUttaqFx9FgDidjDniFxcm+dp+InhiuyGM3ahXhaYqSRmopU9ZAVzX0F8X5wF/wGqOf/yX0RUAVdmxs+l0Bf2cSwmVn0BgeHRGpiq703iFNKV53a6kcAKJxjaZmSJ9V/lKHVvwOD5dWh2hpWh+TEHC8/s+E5LEAeEJ3ZLntsq8Nur2E7Bue5sEChEE4OSZO66nRiTywmJ/pElX4FwwOyTHDLIu3gzm/ooTML2USN4JLEo5ydXzydlBaNu9DHYVva2uUdhNksM/gtRoOksUnIXQeen9hCfqR25RKfONrEeYwuho4vX4wcZKRPGj0l0ub+qPSpsizEol2lBRTb96IgkqwAar1xkRpsRsMbjFWb9qnhkIuhWTH1JFzf0evbNRJdsyA2WoFTe6C4NVatu0q52Cz/HnocgJpcaMeEd5IzbjTWwY5EQq8ujm4OouUYpKMH5Bx5oMzOYxfBwjvmujRR8xQtNYxkhtUfF3mRzywWPrTc/dIJSLDpzDxWIPVMCYbGALSAuRFLzbqYAC6unGYNyKx3YNOuXHp/ACzAeMAPY9oHGq/RNpkg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(396003)(376002)(346002)(451199021)(40470700004)(46966006)(36840700001)(47076005)(36860700001)(356005)(86362001)(40480700001)(82310400005)(81166007)(40460700003)(478600001)(82740400003)(41300700001)(54906003)(6666004)(5660300002)(7696005)(8676002)(44832011)(16526019)(70586007)(4326008)(2906002)(6916009)(8936002)(7416002)(316002)(70206006)(2616005)(26005)(1076003)(336012)(426003)(36756003)(186003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2023 09:56:04.8209 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f7bbad3a-4b32-4eed-c16a-08db6bf46719 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7153 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 'core_pmus' and 'other_pmus' are independent of hw core pmu and uncore pmus. For example, AMD IBS PMUs are present in each SMT-thread but they belongs to 'other_pmus'. Add a comment describing what these list contains and how they are treated. Signed-off-by: Ravi Bangoria --- tools/perf/util/pmus.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/perf/util/pmus.c b/tools/perf/util/pmus.c index e1d0a93147e5..e505d2fef828 100644 --- a/tools/perf/util/pmus.c +++ b/tools/perf/util/pmus.c @@ -12,6 +12,19 @@ #include "pmu.h" #include "print-events.h" =20 +/* + * core_pmus: A PMU belongs to core_pmus if it's name is "cpu" or it's sy= sfs + * directory contains "cpus" file. All PMUs belonging to core_= pmus + * must have pmu->is_core=3D1. If there are more than one PMUs= in + * this list, perf interprets it as a heterogeneous platform. + * (FWIW, certain ARM platforms having heterogeneous cores uses + * homogeneous PMU in which case it will be treated as homogen= eous + * platform by perf because core_pmus will have only one entry= .) + * other_pmus: All other PMUs which are not part of core_pmus list. Does n= ot + * matter whether it is a per SMT-thread or outside of the cor= e in + * hw. i.e. PMUs belonging to other_pmus must have pmu->is_cor= e=3D0 + * but pmu->is_uncore could be 0 or 1. + */ static LIST_HEAD(core_pmus); static LIST_HEAD(other_pmus); static bool read_sysfs_core_pmus; --=20 2.40.1 From nobody Sun Feb 8 09:12:06 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B757C88CB4 for ; Tue, 13 Jun 2023 09:56:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241794AbjFMJ4j (ORCPT ); Tue, 13 Jun 2023 05:56:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37640 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240730AbjFMJ4R (ORCPT ); Tue, 13 Jun 2023 05:56:17 -0400 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2077.outbound.protection.outlook.com [40.107.93.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93D5B10D9; Tue, 13 Jun 2023 02:56:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BF3bVwj15IOOhWwRi97BMWvmjXPa7Vj2z5kTh+eyHXBWfcSx/DYDdFROFByjku3pc9CTciY5mhbeL4bLLcPovTCc/wBkvB06l9lXJtYENtZ4iYR5jwWseLGAJP+plYiVG5weq5SYMyBSxai56K92d2pUc5XJ+kqHlwq7ujUYNLq8YroYMjZKjo9slhTsgrrRs3dCchJDz15mXDmVDeOm8LfQHmZ4w9PaT6nmO3dfrZ49cojL1jltvEDQMo/cASR9a+UFbswFMgguAplucLdU9x/1EC7irOjJJl9iHnaxPCrXvEbleXYWm8eToQtrozoi04/0uILRo9vvx1MpydVhCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HQHopsDzWCqnOq4HBhUmxLqv5m4qZ09rS2zUXM3sZys=; b=MZCEiFnEZ2IIEdzAvkCe1yJei/b180u9Xn9YEYOl5aIYWYRxKxjcpZV7VYgAGS/9XuCHNmdsS7LtUasYLEbQUlf8hXBvqn1siHuu4mFWUm1v57oVzz25/SIswZ45WkGjaqnLW5mOoJML3T2hAwjOBErj2lLa50F+KfTmdNij2j7QFNGQMdCwoKJvAUvzpNpm+NpT9uS0P/HnZUGIiIcWO46ZjDTm8x31lZDXWzjGOw3jZafJteMm3IKI08OxIhNbEpqjhe1a95++Dp4bBEtAIck/kypPLTKTqTVI01J221BFUmI1xkUB+blvh075gRCXyc1x8ZvqLSoWN1v0MDBZbg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HQHopsDzWCqnOq4HBhUmxLqv5m4qZ09rS2zUXM3sZys=; b=Fzmw3b9fDI1pn1BfSKmYFa/oaTlgjJQ6A1GG7tFNcmPFUtjhHBiBS3JgM1mcSGM2OWKpcu9/oy/tAQUx3QE1gaXllKT/+u0tPO3+4fLqOCZyVhyiB328rxJrE3ml87odhq2jqVlHjqA/rGN1+uLtW4dKnJ0JvbGv7eB1gWqt7go= Received: from SA1P222CA0087.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:35e::20) by CY8PR12MB8337.namprd12.prod.outlook.com (2603:10b6:930:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Tue, 13 Jun 2023 09:56:10 +0000 Received: from SN1PEPF00026367.namprd02.prod.outlook.com (2603:10b6:806:35e:cafe::80) by SA1P222CA0087.outlook.office365.com (2603:10b6:806:35e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.35 via Frontend Transport; Tue, 13 Jun 2023 09:56:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.23 via Frontend Transport; Tue, 13 Jun 2023 09:56:10 +0000 Received: from BLR-5CG113396H.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 13 Jun 2023 04:56:04 -0500 From: Ravi Bangoria To: CC: , , , , , , , , , , , , , , , , Subject: [PATCH 2/4] perf tool x86: Consolidate is_amd check into single function Date: Tue, 13 Jun 2023 15:25:04 +0530 Message-ID: <20230613095506.547-3-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230613095506.547-1-ravi.bangoria@amd.com> References: <20230613095506.547-1-ravi.bangoria@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|CY8PR12MB8337:EE_ X-MS-Office365-Filtering-Correlation-Id: f87e1aab-62ad-4af8-df73-08db6bf46a50 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lwDhSpxMCeAtqACY+wWXNNUDiNiiUMneC+yC8RzsR+TBp8SkL/GMjixCU7TOGoB9p6TOqWPTSxeW4sEYBXX2sHVyedr5WjVicAUdAtIlCipj9RpWlQML3xUpdYuJdt6ynbZ+sab1WU/NrUb4iNwD5r1NlJVFy1ElCcSAF07p9o2zKE5frPYVrxHshuneSxTcJaw/8GNRmZTfEUnH+k236HMRJXCY/xbAxb1zSgNVqAjTuLKOOJ5xi7jKIchM8H6MiEuQemr+6KchIZkd6YHIH1KLp6Wi3wLSgd8+U9+uj7Lsl04Jo56jAez1vzReBRK9LRkNmdb8FCG8kMjhUKs/4ymmMWlf20JM+QDRGjnRtCrmIVb3dP2K6GfNiHPr1v8jtJZMO3zzGS+qrtIlBXXYatAOvkRJYTlDWCQclqaMJ8u480XxMgyIX2eB/irqMuR4IQYr/FuPA+32QrsA1dwE0GQpboxe1wJGomaIy+NNjtvxB+9QmMxdPROFNqkrSQAaKL1o5bZWixPCyftCh1tymoB7SkY2krF5ZNeB7cTKP7mVjwQg/uuI+hZhyw8ISVyXAk5ILJGkhXp9fEyETauD0WUBygi45+S6eM1/eAdU7X+u28ZKZSVYn5bSQ2ozUf8EGvtfAykI7wUToHVH+7IV9GQwF1mKJUUt/Im3NDzqvmeemGU7nPoFg0VPTQoSEt1tHKbqbMYUsupgCFolmYzUGMqnEo2LCD8rGkNsNfxPfdZd3jhNO8ZNzW0JVidK+fiXZWjok27x+D19DtdmuiyqmA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(39860400002)(396003)(136003)(451199021)(46966006)(40470700004)(36840700001)(54906003)(478600001)(2616005)(41300700001)(5660300002)(8936002)(8676002)(7696005)(70586007)(316002)(6916009)(336012)(70206006)(4326008)(426003)(26005)(1076003)(44832011)(7416002)(16526019)(40460700003)(2906002)(186003)(40480700001)(81166007)(356005)(82740400003)(83380400001)(36756003)(36860700001)(47076005)(86362001)(82310400005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2023 09:56:10.2309 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f87e1aab-62ad-4af8-df73-08db6bf46a50 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00026367.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8337 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" There are multiple places where x86 specific code determines AMD vs Intel arch and acts based on that. Consolidate those checks into a single function. Signed-off-by: Ravi Bangoria Acked-by: Ian Rogers --- tools/perf/arch/x86/util/Build | 1 + tools/perf/arch/x86/util/env.c | 19 +++++++++++++++++++ tools/perf/arch/x86/util/env.h | 7 +++++++ tools/perf/arch/x86/util/evsel.c | 16 ++-------------- tools/perf/arch/x86/util/mem-events.c | 19 ++----------------- 5 files changed, 31 insertions(+), 31 deletions(-) create mode 100644 tools/perf/arch/x86/util/env.c create mode 100644 tools/perf/arch/x86/util/env.h diff --git a/tools/perf/arch/x86/util/Build b/tools/perf/arch/x86/util/Build index 195ccfdef7aa..005907cb97d8 100644 --- a/tools/perf/arch/x86/util/Build +++ b/tools/perf/arch/x86/util/Build @@ -10,6 +10,7 @@ perf-y +=3D evlist.o perf-y +=3D mem-events.o perf-y +=3D evsel.o perf-y +=3D iostat.o +perf-y +=3D env.o =20 perf-$(CONFIG_DWARF) +=3D dwarf-regs.o perf-$(CONFIG_BPF_PROLOGUE) +=3D dwarf-regs.o diff --git a/tools/perf/arch/x86/util/env.c b/tools/perf/arch/x86/util/env.c new file mode 100644 index 000000000000..33b87f8ac1cc --- /dev/null +++ b/tools/perf/arch/x86/util/env.c @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "linux/string.h" +#include "util/env.h" +#include "env.h" + +bool x86__is_amd_cpu(void) +{ + struct perf_env env =3D { .total_mem =3D 0, }; + static int is_amd; /* 0: Uninitialized, 1: Yes, -1: No */ + + if (is_amd) + goto ret; + + perf_env__cpuid(&env); + is_amd =3D env.cpuid && strstarts(env.cpuid, "AuthenticAMD") ? 1 : -1; + +ret: + return is_amd >=3D 1 ? true : false; +} diff --git a/tools/perf/arch/x86/util/env.h b/tools/perf/arch/x86/util/env.h new file mode 100644 index 000000000000..d78f080b6b3f --- /dev/null +++ b/tools/perf/arch/x86/util/env.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _X86_ENV_H +#define _X86_ENV_H + +bool x86__is_amd_cpu(void); + +#endif /* _X86_ENV_H */ diff --git a/tools/perf/arch/x86/util/evsel.c b/tools/perf/arch/x86/util/ev= sel.c index 25da46c8cca9..512c2d885d24 100644 --- a/tools/perf/arch/x86/util/evsel.c +++ b/tools/perf/arch/x86/util/evsel.c @@ -8,6 +8,7 @@ #include "linux/string.h" #include "evsel.h" #include "util/debug.h" +#include "env.h" =20 #define IBS_FETCH_L3MISSONLY (1ULL << 59) #define IBS_OP_L3MISSONLY (1ULL << 16) @@ -78,23 +79,10 @@ void arch__post_evsel_config(struct evsel *evsel, struc= t perf_event_attr *attr) { struct perf_pmu *evsel_pmu, *ibs_fetch_pmu, *ibs_op_pmu; static int warned_once; - /* 0: Uninitialized, 1: Yes, -1: No */ - static int is_amd; =20 - if (warned_once || is_amd =3D=3D -1) + if (warned_once || !x86__is_amd_cpu()) return; =20 - if (!is_amd) { - struct perf_env *env =3D evsel__env(evsel); - - if (!perf_env__cpuid(env) || !env->cpuid || - !strstarts(env->cpuid, "AuthenticAMD")) { - is_amd =3D -1; - return; - } - is_amd =3D 1; - } - evsel_pmu =3D evsel__find_pmu(evsel); if (!evsel_pmu) return; diff --git a/tools/perf/arch/x86/util/mem-events.c b/tools/perf/arch/x86/ut= il/mem-events.c index 32879d12a8d5..a8a782bcb121 100644 --- a/tools/perf/arch/x86/util/mem-events.c +++ b/tools/perf/arch/x86/util/mem-events.c @@ -5,6 +5,7 @@ #include "map_symbol.h" #include "mem-events.h" #include "linux/string.h" +#include "env.h" =20 static char mem_loads_name[100]; static bool mem_loads_name__init; @@ -27,28 +28,12 @@ static struct perf_mem_event perf_mem_events_amd[PERF_M= EM_EVENTS__MAX] =3D { E("mem-ldst", "ibs_op//", "ibs_op"), }; =20 -static int perf_mem_is_amd_cpu(void) -{ - struct perf_env env =3D { .total_mem =3D 0, }; - - perf_env__cpuid(&env); - if (env.cpuid && strstarts(env.cpuid, "AuthenticAMD")) - return 1; - return -1; -} - struct perf_mem_event *perf_mem_events__ptr(int i) { - /* 0: Uninitialized, 1: Yes, -1: No */ - static int is_amd; - if (i >=3D PERF_MEM_EVENTS__MAX) return NULL; =20 - if (!is_amd) - is_amd =3D perf_mem_is_amd_cpu(); - - if (is_amd =3D=3D 1) + if (x86__is_amd_cpu()) return &perf_mem_events_amd[i]; =20 return &perf_mem_events_intel[i]; --=20 2.40.1 From nobody Sun Feb 8 09:12:06 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04C21C7EE29 for ; Tue, 13 Jun 2023 09:56:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241872AbjFMJ4n (ORCPT ); Tue, 13 Jun 2023 05:56:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240922AbjFMJ4T (ORCPT ); Tue, 13 Jun 2023 05:56:19 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2060.outbound.protection.outlook.com [40.107.94.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41F1E10E4; Tue, 13 Jun 2023 02:56:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RQNGDdHzc8oU5Iz1SYtVXqAnGtfRe8r7/EvXD6HC6Rm/bpFWpHYpey9s5533stX0q7FxhQqm1Z+3abjXyqXLOI/jox7hII3Uo6V2qiU0I4clCpbLZucxAg5+WodZLbekicQEzlBsqCwTixvf3jS1kcPTb6h4BAFyqsnOi+Ck4e5+EWSphXJo4C3N1PtTHP08qlKUjudNtHEcFYYp4u8Jy4RqDvxvd3b19ujiEZ4utHvtyDe8xwYlPYGUOhlq4Fpv+gN4NobYnQ+ZR/XJMdrfly8oMSr0Nuz94OYliu0dyC1W/xznQ45/07OXG1XEhWwHKGioK6rBUl8e7TBEiLyTxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mRIWRkPm34LgJCVmwG6rhCTw+kwSUrOUTFR4e7Z1f6I=; b=ZGPWExE+IQASygZi25bUdIuWNWLnw2q/vMnQpsyQ/BAexZOijUCSAuLVZfPUMPuMgomOg4ZdHgeYZhDxqJZ6k/jm1AUJINEa/jeUfKzAifHbQyDT3swZKpb84ZvJBra0R83eiz+pnhE2KQI11wxb5wy6052rQx/iv/wbwmKvenvJiwoda7muzeBRKWBOECAvtb2Josz3njS3dK1VAvwYfuuLZc7bP0Z1iaswV533Ms0KukT0agRSpiQWhaAqKSpe8ESg17/A4qPdC0I8bf1tm8k2k0/hNd0VAhP6o7geftT68Cih60d7ZPA7ua/YCkFsBQB+Jtt7kQnk6PHZxmhIMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mRIWRkPm34LgJCVmwG6rhCTw+kwSUrOUTFR4e7Z1f6I=; b=AEbH42+R/i9w5Kl2P4Fpac8ncICxSRuLrupUsQ1yGn0tzm6m2ht0b9E4ZOW/4FfyX+JmTBo3YTqRzIU/N28c9HNFdeDZZkt/3jD+PL5kyuWR+rSFdNO+vE92SVVGYgR+gvB9NMyGCDqVQQVWpziSCu/lhDZQeno2uE+yxRi6ZeQ= Received: from SA1PR03CA0017.namprd03.prod.outlook.com (2603:10b6:806:2d3::13) by CY8PR12MB7146.namprd12.prod.outlook.com (2603:10b6:930:5e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.36; Tue, 13 Jun 2023 09:56:15 +0000 Received: from SN1PEPF0002636B.namprd02.prod.outlook.com (2603:10b6:806:2d3:cafe::81) by SA1PR03CA0017.outlook.office365.com (2603:10b6:806:2d3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.35 via Frontend Transport; Tue, 13 Jun 2023 09:56:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.23 via Frontend Transport; Tue, 13 Jun 2023 09:56:15 +0000 Received: from BLR-5CG113396H.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 13 Jun 2023 04:56:09 -0500 From: Ravi Bangoria To: CC: , , , , , , , , , , , , , , , , Subject: [PATCH 3/4] perf mem amd: Fix perf_pmus__num_mem_pmus() Date: Tue, 13 Jun 2023 15:25:05 +0530 Message-ID: <20230613095506.547-4-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230613095506.547-1-ravi.bangoria@amd.com> References: <20230613095506.547-1-ravi.bangoria@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|CY8PR12MB7146:EE_ X-MS-Office365-Filtering-Correlation-Id: d5a26752-9e61-4f07-74a8-08db6bf46d58 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Is6/Qs35sgvwQTTt5W0aw09kyQnpXTZK8WgF/6i9pMcz8ajG9SpkCxKmn+PSkZYENoP3Arl97i2PMFLRdEiA+HSx7Z5Igs/wz6PqO0EttwERctWzK8fTInhY4VBVz8XmU/4/vm4Kzo6USWOGFIz43vn1USTUNHW7wgemdLSgni7JujIz1Ksn0W6Bl1Wanfk9esh7WM9fwXXarUleaX5tb3JDOl0sfxywW2TqkSryazP8PUqluNY9bhYrkoY5IDNdb6HABMVr1t0xfLqa3s18y/wPu2ASxUV82GCSS0YmlsjY3wTW8Mf0PcUcEqgERh0tc9BWXoOguED2mqyID5OYZTfS14po2gy/3qZSMW3puh6Wt/cxs34/57BN1NZDsGmNhtyUY97Pb2aI2ZWQLepr6FoMSzoVwmWMz8Dc14xJ1kR30oG/KSkXTRBne24M8Osc15iEemNC4CMFWKoRI65yDN3Wm+auoT/+9iooYzXvYxJEKqim8KvW1dFNdlzLWhZO28FZzAyfkPAnTajwkzeIx2ucYK9M3nMbun8Y9N38c16t9eMIr6qFMZ3tPbZYjkbFYGrdWcBVeNtE8/8ZAyQeLxKFLtIxN6XakrN/18bpy9QskgJdUsKvTdNpzQKAfUDk2VeHimofVdyiM0Cqd6VfO7ADN/YXGyUHkVo8/P/HCIf85Mo/NRg4DjdC9IB7TnlmgLxfpYYN20C1I/L4O2fXbQuMqLg8xTbtMiaq5/fTopb86I840RcLhAUbykRX8RHbhFQ00Y4OL5KVb1LK86VXy12p8at6I/pQBtMa0GMA0YXTbmE0aef60nZJtZ4B69aU X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(136003)(346002)(376002)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(7696005)(6666004)(36756003)(47076005)(83380400001)(426003)(336012)(2616005)(82310400005)(86362001)(82740400003)(356005)(1076003)(26005)(81166007)(40480700001)(36860700001)(16526019)(186003)(2906002)(5660300002)(54906003)(8676002)(44832011)(8936002)(316002)(7416002)(41300700001)(6916009)(4326008)(70206006)(70586007)(478600001)(101420200003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2023 09:56:15.3137 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d5a26752-9e61-4f07-74a8-08db6bf46d58 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7146 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" AMD cpus does not contain hybrid cores. Also, perf mem/c2c on AMD internally uses IBS OP PMU, not the core PMU. Signed-off-by: Ravi Bangoria --- tools/perf/arch/x86/util/pmu.c | 15 +++++++++++++++ tools/perf/util/pmus.c | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/perf/arch/x86/util/pmu.c b/tools/perf/arch/x86/util/pmu.c index 3c0de3370d7e..8a20d28d9927 100644 --- a/tools/perf/arch/x86/util/pmu.c +++ b/tools/perf/arch/x86/util/pmu.c @@ -14,6 +14,8 @@ #include "../../../util/intel-bts.h" #include "../../../util/pmu.h" #include "../../../util/fncache.h" +#include "../../../util/pmus.h" +#include "env.h" =20 struct pmu_alias { char *name; @@ -168,3 +170,16 @@ char *pmu_find_alias_name(const char *name) =20 return __pmu_find_alias_name(name); } + +int perf_pmus__num_mem_pmus(void) +{ + /* + * AMD does not have hybrid cores and also uses IBS OP + * pmu for perf mem/c2c. + */ + if (x86__is_amd_cpu()) + return 1; + + /* Intel uses core pmus for perf mem/c2c */ + return perf_pmus__num_core_pmus(); +} diff --git a/tools/perf/util/pmus.c b/tools/perf/util/pmus.c index e505d2fef828..0ed943932945 100644 --- a/tools/perf/util/pmus.c +++ b/tools/perf/util/pmus.c @@ -240,7 +240,7 @@ const struct perf_pmu *perf_pmus__pmu_for_pmu_filter(co= nst char *str) return NULL; } =20 -int perf_pmus__num_mem_pmus(void) +int __weak perf_pmus__num_mem_pmus(void) { /* All core PMUs are for mem events. */ return perf_pmus__num_core_pmus(); --=20 2.40.1 From nobody Sun Feb 8 09:12:06 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B256C7EE2E for ; Tue, 13 Jun 2023 09:56:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241898AbjFMJ4q (ORCPT ); Tue, 13 Jun 2023 05:56:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241500AbjFMJ4f (ORCPT ); Tue, 13 Jun 2023 05:56:35 -0400 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2084.outbound.protection.outlook.com [40.107.220.84]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1133110F7; Tue, 13 Jun 2023 02:56:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XXD1LhFDvO2Xf836UonY1A10c8ajIYg0ahcREs8CcqViY/HadbpwJdcNqJ6ouCk8uHyL1WT3ZMDM7fJjjxyM3rhSUMmNqI5BN7kyNvLHifYkHDEXNSG2GC/aNjT2FVkYAtydDuso6km2RBI6qihEUWvVYz+09vErIq1XxX3jDl87rpCsGU8AWdazZcwD4C6wP9jD5tQaLaPDLki6fW2rvBbd5CGG+kj2c9XVRac+Aqh0vIkvVIQlW4JAE1f1/bWIH3DioLdhMObruH2AcbHHK6UH2HNG7gVRgfnBoFYsdMlGPuUyhJ8b9nEEmzMEVzHQbjVNWD3YAKFVAWyL18WGyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qjhtwrSqUQQPgUBWDsmm175+OpJdVZSK9WpkNag4JYE=; b=FCR1JYiSC4psgGx1+4H2I3WBDFRfWTyAmn7opESOHG5qEnfoeyS09Bu3O6ixFHHf9aqZE7jo01E2Qcd2KvoIGUOTV2b/pkT3YyStkVre+BK2+T/puJBM6hkjOXAdNO6OKWR92LzGQRZaYxbBecjaMZBC1meJfBbm84F8rcs/HkbGdkKOx1460vBT74/xJklS8kVDlJK1/lEQtOFR3ijkLl7XrwVhs6wdGHJ4wxVQgQmoHl6f3Je9T4dK7xISVniN0PZCJo40VO2yNy6JLmS6uiqWlcXK+XQ/2KFyvPjrfw1QC+ruLGI3IOAyqeaANGPC1sZSEfe5ovMW47I6cX5NOQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qjhtwrSqUQQPgUBWDsmm175+OpJdVZSK9WpkNag4JYE=; b=j0q75D+G3uZqzSlOoAyOjfTMpVhOkNRqvEtVZ+0tflgBXvKBWyWZ0HdS4g3FtaOmmM/nu536BdKCK5pmMcFOsaHYUGTts6UoJbdKzl+G9kMHWhRvcTBQNcNIFv3JpaJJqnT4kC1mylLj+AH5ZaH+rd+MygWS/yEGsdkuvh6x4hI= Received: from SN6PR04CA0081.namprd04.prod.outlook.com (2603:10b6:805:f2::22) by MW4PR12MB7430.namprd12.prod.outlook.com (2603:10b6:303:224::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.36; Tue, 13 Jun 2023 09:56:22 +0000 Received: from SN1PEPF0002636A.namprd02.prod.outlook.com (2603:10b6:805:f2:cafe::6e) by SN6PR04CA0081.outlook.office365.com (2603:10b6:805:f2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.35 via Frontend Transport; Tue, 13 Jun 2023 09:56:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636A.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6500.23 via Frontend Transport; Tue, 13 Jun 2023 09:56:21 +0000 Received: from BLR-5CG113396H.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 13 Jun 2023 04:56:15 -0500 From: Ravi Bangoria To: CC: , , , , , , , , , , , , , , , , Subject: [PATCH 4/4] perf mem amd: Scan all PMUs instead of just core ones Date: Tue, 13 Jun 2023 15:25:06 +0530 Message-ID: <20230613095506.547-5-ravi.bangoria@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230613095506.547-1-ravi.bangoria@amd.com> References: <20230613095506.547-1-ravi.bangoria@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636A:EE_|MW4PR12MB7430:EE_ X-MS-Office365-Filtering-Correlation-Id: a7438da6-be89-4e06-f3d0-08db6bf47134 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bZleVwqXVnSsWo6rzFmUcJN2CSX8FgigPzIGQijOrZo6ZfQPp2QdGNMX9WtlbkXzYsInxECoh51xX/YFly7Qt3vLnXd2GeUFiwtG7GbDnH6OGM3uSX6LliswM15X0pi2o18xKpcIM/utbJJuKiMH/9lE4qahOurWKEV51+El9WmxHB9nBw0gCiToy9lTzddso5ik30M9MF47y0iMbQz0p1Vf9KurAQuhQz4+QodbzruqeDvOOatid2Ilb57ik+ZZMszs0D3eED0D2tzG4yrFdmr9tXgyxUJ3uGR38bNGZKS35TmFtlOdhYakOfBcehsoYh8Xy8G9F4nQtPfs81D2/lqMH/Gn84+/+n1podPZ6u9Vw5OadXyymfwiljNgSylgSzBwzTo6lAeTjck3xvvDOOzE1iZXYJHfZYH5kP8suaModrhZkp4KJISbL+6b+ctQctOUwgSgSpWClCFsfL0/wB3FNg+0tyflMn3KCyZvLUc0zPBvT2Io0hjowKSJv98kaWGIPkc5V5fv6au47fIFp/yUI2dCKln+cZY2gHYSyFwgLXMTl5tLdw4tz38ExczAdtdB6jALpTn3FGfquYUr3YIzn/uqaTrpd3A7+OfyTsV5gk4j0QJfIOASp/cfaMqIrTZn9ETjJH0Q6WJkmqQBlnBMKq3RFuh9L9KxN/X0OsfRcOiiIO3UIrJM+bQFpHAw5I+WEiBriUEDDAFf59mBAzfqncaHh79ZdPrt9/i+knglnVwEQOlBFhI9tPj64/kNMszV+Sw/x0B2N3rlBt4ofg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199021)(40470700004)(46966006)(36840700001)(40460700003)(47076005)(83380400001)(36860700001)(7416002)(336012)(426003)(44832011)(36756003)(478600001)(8676002)(40480700001)(8936002)(70586007)(86362001)(316002)(41300700001)(82740400003)(356005)(81166007)(70206006)(5660300002)(4326008)(6916009)(7696005)(6666004)(2906002)(82310400005)(54906003)(186003)(1076003)(26005)(16526019)(2616005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2023 09:56:21.7920 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a7438da6-be89-4e06-f3d0-08db6bf47134 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7430 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Scanning only core PMUs is not sufficient on AMD since perf mem on AMD uses IBS OP PMU, which is independent of core PMU. Signed-off-by: Ravi Bangoria --- tools/perf/arch/x86/util/mem-events.c | 5 +++++ tools/perf/util/mem-events.c | 16 ++++++++++++---- tools/perf/util/mem-events.h | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/tools/perf/arch/x86/util/mem-events.c b/tools/perf/arch/x86/ut= il/mem-events.c index a8a782bcb121..43af872e89a6 100644 --- a/tools/perf/arch/x86/util/mem-events.c +++ b/tools/perf/arch/x86/util/mem-events.c @@ -91,3 +91,8 @@ char *perf_mem_events__name(int i, char *pmu_name) =20 return (char *)e->name; } + +bool perf_mem_events__via_core_pmus(void) +{ + return !x86__is_amd_cpu(); +} diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index be15aadb6b14..0c04f883d634 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -109,6 +109,14 @@ static bool perf_mem_event__supported(const char *mnt,= char *sysfs_name) return !stat(path, &st); } =20 +bool __weak perf_mem_events__via_core_pmus(void) +{ + return true; +} + +#define perf_mem_scan_next_pmu(pmu) \ + (perf_mem_events__via_core_pmus() ? perf_pmus__scan_core(pmu) : perf_pmus= __scan(pmu)) + int perf_mem_events__init(void) { const char *mnt =3D sysfs__mount(); @@ -130,7 +138,7 @@ int perf_mem_events__init(void) if (!e->tag) continue; =20 - while ((pmu =3D perf_pmus__scan_core(pmu)) !=3D NULL) { + while ((pmu =3D perf_mem_scan_next_pmu(pmu)) !=3D NULL) { scnprintf(sysfs_name, sizeof(sysfs_name), e->sysfs_name, pmu->name); e->supported |=3D perf_mem_event__supported(mnt, sysfs_name); } @@ -165,7 +173,7 @@ static void perf_mem_events__print_unsupport_hybrid(str= uct perf_mem_event *e, char sysfs_name[100]; struct perf_pmu *pmu =3D NULL; =20 - while ((pmu =3D perf_pmus__scan_core(pmu)) !=3D NULL) { + while ((pmu =3D perf_mem_scan_next_pmu(pmu)) !=3D NULL) { scnprintf(sysfs_name, sizeof(sysfs_name), e->sysfs_name, pmu->name); if (!perf_mem_event__supported(mnt, sysfs_name)) { @@ -188,7 +196,7 @@ int perf_mem_events__record_args(const char **rec_argv,= int *argv_nr, if (!e->record) continue; =20 - if (perf_pmus__num_core_pmus() =3D=3D 1) { + if (perf_pmus__num_mem_pmus() =3D=3D 1) { if (!e->supported) { pr_err("failed: event '%s' not supported\n", perf_mem_events__name(j, NULL)); @@ -203,7 +211,7 @@ int perf_mem_events__record_args(const char **rec_argv,= int *argv_nr, return -1; } =20 - while ((pmu =3D perf_pmus__scan_core(pmu)) !=3D NULL) { + while ((pmu =3D perf_mem_scan_next_pmu(pmu)) !=3D NULL) { rec_argv[i++] =3D "-e"; s =3D perf_mem_events__name(j, pmu->name); if (s) { diff --git a/tools/perf/util/mem-events.h b/tools/perf/util/mem-events.h index 12372309d60e..d650eb311113 100644 --- a/tools/perf/util/mem-events.h +++ b/tools/perf/util/mem-events.h @@ -36,6 +36,7 @@ enum { extern unsigned int perf_mem_events__loads_ldlat; =20 int perf_mem_events__parse(const char *str); +bool perf_mem_events__via_core_pmus(void); int perf_mem_events__init(void); =20 char *perf_mem_events__name(int i, char *pmu_name); --=20 2.40.1