From nobody Mon Apr 13 10:27:35 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 9613DC19F2D for ; Thu, 11 Aug 2022 12:47:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235410AbiHKMra (ORCPT ); Thu, 11 Aug 2022 08:47:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235392AbiHKMr2 (ORCPT ); Thu, 11 Aug 2022 08:47:28 -0400 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2049.outbound.protection.outlook.com [40.107.100.49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 54FA72558F; Thu, 11 Aug 2022 05:47:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dXYbip1sKbKbbpwN4gyl0NzVk5+siV1JGpr6VhZGL1q5VK7ILPjSBxNncB7I3sGn3HR/jFQweVqP2VYJHIvuyK3lsAIrE+uh5lHeukII3OrP1TN1Lis1qf7kVm/H6oxEkaaJb6qmBBKPxouYszX+gSUQKZz08jgKNIVEfws68/aEbD9RDk/ij1AD3O683RZwSuOqfODKBPLjdrIfF1LLstzwUBWDBdQC4vfa8g848JQpFrIVYKH+USxclUy0LIirknThmcnH/RRLffZU2N1kByqA6njRXsdCpXIGfcI1D+LksyVzCo6p7DYrb3ZY/Q7KkJq6bCDooAn3pAEiptct3A== 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=r1t0iDH0AMv/V/mL1L5XFtocytAqY7yTJdjRbU7K11U=; b=DdBOZwvwcEntlVFDNmPaFqEzIZShYTXW/sNpuyQQMfQu63+M7fcriqSE3Hu5C4dNCZaCfb2qAOOxQb5sk1iWqUiDTshU9neEMu8S9oQZCfCceGlEG6k7Gnzy3ovMkzlM4oP8nNCLUy0lLRur/wR3ZngsSMlXNNUx7DVgRLh0aa040uydtQwIu4hHEfDnyXmVBHDP03Kq4EIaW4X6XvWzVhRIG91utlPfni6A9+8HDlVT1Si71NcFLGPqKTQT8bBKgBxcGymoDzV/MjSU4i3Xw0JhJK2RA7SezTY91r8N9TdgiYxR/uD4OtAMLv4UJ3Nu3IRItvTnZ5hnyf6/AUpOHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=r1t0iDH0AMv/V/mL1L5XFtocytAqY7yTJdjRbU7K11U=; b=j07eP6Y9HRNZ7XVX+EkDtQrMwudfu4UZuo8nqVFjf+Tn+UOhss/x27mD9VQOFGfjR87cQFMf2bGqFI/fQYqor2Bj03GwFtn6tk0MfGeaVwVofnkNbpKafRjROWc6dqldVXwTBZld9Mlw8JVRWRsKfRpfaE3rZGvb5c+36dRKp7g= Received: from DS7PR05CA0005.namprd05.prod.outlook.com (2603:10b6:5:3b9::10) by BL3PR12MB6380.namprd12.prod.outlook.com (2603:10b6:208:3b3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Thu, 11 Aug 2022 12:47:25 +0000 Received: from DM6NAM11FT040.eop-nam11.prod.protection.outlook.com (2603:10b6:5:3b9:cafe::8b) by DS7PR05CA0005.outlook.office365.com (2603:10b6:5:3b9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16 via Frontend Transport; Thu, 11 Aug 2022 12:47:25 +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 DM6NAM11FT040.mail.protection.outlook.com (10.13.173.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 12:47:25 +0000 Received: from sindhu.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.2375.28; Thu, 11 Aug 2022 07:47:19 -0500 From: Sandipan Das To: , , CC: , , , , , , , , , , , , , , , Subject: [PATCH 1/4] tools headers uapi: Sync perf_event.h with kernel sources Date: Thu, 11 Aug 2022 18:16:46 +0530 Message-ID: <82ca4d1135ebd66884e03e3d4d7d50fbb24d52a3.1660217326.git.sandipan.das@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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-Office365-Filtering-Correlation-Id: 600501d4-56c0-472f-2f88-08da7b97a444 X-MS-TrafficTypeDiagnostic: BL3PR12MB6380:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QoBEk6+9GhEfk3OwjiJrF6KqYrdDuB+0vtLyOM4wRRzUYYWttT4eHT+BEThnny6vb3zRiXaMGAKhWtiCz7X6+255d/mxanlSR5Ti6+fz5KM6J12XK03CvAg1OWSL4lX1kOWzs0qsaRcOJ5MLKYvYje6aHwC0EtJtoV7DurE0LcCXIPMD0Txb5ab8rvaNORVF/4Fhx+ujFYWseRbgDqUMbbPV1asv1BC+dV24M6RIHffN5gQu/xvbi1hP7JXy2feor8Xxj2XMElHuMKuDRxnEoxn3EJoza5HXIKfmSUgRlLJ/Qrjfs2H2wQWax72YBvrOjEG8FekDDKSB1UYs4rJpDL6jQ4oiiO0i8onWPMPoJMQbnm3Iu174ZMrOb/DYln4hLiG3DkmAgdc627dQW06LnxjOdHQzokCvrVln2rbdaU5m0VdDozl36Twv5veXSJi6dyHkk2lEfbjwQDdWlOyLcEHZyzBhu8gyVgG5xcxMHqLEtS+aje4AnlT603N2VUz1BuMvowWwWh2wzKnRG3o194rOLvo5HyMeKl/XfWMK4S9ROyTKm81V3WdGy4Irs9O7KWdkxth8gBu+3c9zwDcvraK8/BC7QQi5mU4+2bkqC8n52g3O0aap79lXAJMoInq2zXu9p/lxnkIXXWfmMe56i+2wXZQe8J3d2faT2OJoi38F+Lb+/xJQj/AWSi6cd0WrZ1E5TSChQEj1JNF5l+JOQgpDyDoeboL2keYLMU7dOTQLE74Ud56NS879nlq+F0mDowFDhiS4Qw5cEl4hZWg8kZNr55wutyoxlcv1QkNVQYABPW1rjgkVmPi3U+mSyzisZ2KWFg+OAzx7lq2xpYmFpg== 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:(13230016)(4636009)(346002)(396003)(39860400002)(376002)(136003)(46966006)(40470700004)(36840700001)(2906002)(40460700003)(8936002)(7416002)(356005)(5660300002)(81166007)(44832011)(26005)(40480700001)(86362001)(82310400005)(2616005)(336012)(426003)(186003)(16526019)(47076005)(41300700001)(6666004)(7696005)(36860700001)(83380400001)(478600001)(316002)(4326008)(8676002)(82740400003)(70206006)(70586007)(54906003)(110136005)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:47:25.1619 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 600501d4-56c0-472f-2f88-08da7b97a444 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: DM6NAM11FT040.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6380 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Sync perf_event.h with the kernel sources by adding the new "spec" bitfield to branch entries. Signed-off-by: Sandipan Das --- tools/include/uapi/linux/perf_event.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/lin= ux/perf_event.h index 4653834f078f..3afda2dc84dd 100644 --- a/tools/include/uapi/linux/perf_event.h +++ b/tools/include/uapi/linux/perf_event.h @@ -256,6 +256,17 @@ enum { PERF_BR_MAX, }; =20 +/* + * Common branch speculation outcome classification + */ +enum { + PERF_BR_SPEC_NA =3D 0, /* Not available */ + PERF_BR_SPEC_WRONG_PATH =3D 1, /* Speculative but on wrong path */ + PERF_BR_NON_SPEC_CORRECT_PATH =3D 2, /* Non-speculative but on correct pa= th */ + PERF_BR_SPEC_CORRECT_PATH =3D 3, /* Speculative and on correct path */ + PERF_BR_SPEC_MAX, +}; + #define PERF_SAMPLE_BRANCH_PLM_ALL \ (PERF_SAMPLE_BRANCH_USER|\ PERF_SAMPLE_BRANCH_KERNEL|\ @@ -1360,6 +1371,7 @@ union perf_mem_data_src { * abort: aborting a hardware transaction * cycles: cycles from last branch (or 0 if not supported) * type: branch type + * spec: branch speculation info (or 0 if not supported) */ struct perf_branch_entry { __u64 from; @@ -1370,7 +1382,8 @@ struct perf_branch_entry { abort:1, /* transaction abort */ cycles:16, /* cycle count to last branch */ type:4, /* branch type */ - reserved:40; + spec:2, /* branch speculation info */ + reserved:38; }; =20 union perf_sample_weight { --=20 2.34.1 From nobody Mon Apr 13 10:27:35 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 6D014C25B0C for ; Thu, 11 Aug 2022 12:48:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235425AbiHKMsG (ORCPT ); Thu, 11 Aug 2022 08:48:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235391AbiHKMsE (ORCPT ); Thu, 11 Aug 2022 08:48:04 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2072.outbound.protection.outlook.com [40.107.92.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC37725E95; Thu, 11 Aug 2022 05:48:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dREKmV9hR6CmYaXcaOlLP54Gavx1W8wO32yzmx1NVzLsKdP/NsTecZ3VNEmtvxdw0qavxubytorqemvYFs5qyTWM++bWuEipkUpFHfk2MDdkMTfDAalhRpEZEes2sllz/RUxTT2zSYw/SSUBf4g8BDXMIpAe2BOBNqOEBVpWdTX0wpPsjuMQEmbpxp0uIruCW+4XgIDsLWDZVrtqlXFngdG2bA0sN2gJAL6DCF+6w41cFTP0N0mlGESBuZRU9nWGyGlIOfXSNRaIpX/aTkkK16qD0uP+lbb2Ntw3eNb7TOMgKH28IDyXaMPDRvEcTFPt1c4vCwXKJIcaMVNDEI2Kpw== 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=fNmzjyRa6YTdqe5tMgCK0JcjTGGmf4j2RAriBhe8P6E=; b=Nv5rnYIJtGKP9BpDf8ZQ30ScBgxtqrTod6ubIlYnNaq80u3GpYfYbYUwAjPxOknP8VDmCw8sr1djXke2TXSBA0TV0k6LGcFLxNpCLSdKnYSfno4uEW1Pr4iHN7VohP608LzOYgi9ELPYiUyKNt/UMzueYIae8uWaxkQ3Y7JSNlXmUjzERj+gDfCGChnZWGviuBhHx7hgC7MIpnsSAG6NHkD8FP5vV/7lTWBNoCTSiIU8uoPeMHQsFc0IBouWAKtZhL2/sgb2itdb3g51KvwGmLXMqj0KDvDFRYd+JslCMrRHNdFAStXPT1Ppi/mI9rHg4liNgLa0qRNyOnqgfhXe0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=fNmzjyRa6YTdqe5tMgCK0JcjTGGmf4j2RAriBhe8P6E=; b=I7YXS/qCMBkurhAwNvuz5Lr3PQnCyN0Nbts8xe4Q+mW318j4wjbkv/vqqxuvDj8N+7qcBj6jRwBw3KnuKQUo/ZfuObIyAj0wExcS94j8u+VuqhnrLP9mODGYe/2Tmp6qx4Q9pQ1NCGzyLIrH+6vRIpE/SrsCOtcDXVH7m/tAImM= Received: from MW4PR04CA0119.namprd04.prod.outlook.com (2603:10b6:303:83::34) by CY4PR12MB1335.namprd12.prod.outlook.com (2603:10b6:903:37::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Thu, 11 Aug 2022 12:48:00 +0000 Received: from CO1NAM11FT019.eop-nam11.prod.protection.outlook.com (2603:10b6:303:83:cafe::d0) by MW4PR04CA0119.outlook.office365.com (2603:10b6:303:83::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16 via Frontend Transport; Thu, 11 Aug 2022 12:47:59 +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 CO1NAM11FT019.mail.protection.outlook.com (10.13.175.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 12:47:59 +0000 Received: from sindhu.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.2375.28; Thu, 11 Aug 2022 07:47:53 -0500 From: Sandipan Das To: , , CC: , , , , , , , , , , , , , , , Subject: [PATCH 2/4] tools headers x86: Sync msr-index.h with kernel sources Date: Thu, 11 Aug 2022 18:16:47 +0530 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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-Office365-Filtering-Correlation-Id: daf7b358-37d8-4450-9232-08da7b97b8ad X-MS-TrafficTypeDiagnostic: CY4PR12MB1335:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xpo50ZGG6VgF+m6VEX09DYT9xxuf9ani7jl4QLUyaRJfmV6F0C3bFa20Pr8fYjW8npscJGFFXYJh2ySfn/LAi+rMqm3dxTKlxGg2XWRDDXEKMl7YkL6vKSazMx/sKm5EekAIZm3YujDMDF6L+9CCIedbJbJ3NiOoLbEobHV8IeUS7JYyCXit/MZbE6jdp7wNmXlywtRtjHrjrzTxTLFZLS2EYfUux17z4b5jQgieQFVvgibBYStwrSxb/CB+Ea+LZaWCxk8kipgDGiFrhkRQ7jVWWTxQ4qSFKN2ltuaRe4VSX2gABCoQ2FZ5a09yPEEagRdhGB2hyi/HQpEYkHOr39YLF7MOHocmzL284ZW1ZrlmZNA/SRPxBYXXFeo7kqxYGXvUSifSpLwLrMyJPpw9G3mWwO47GldkplRGhwSItzTOnEB49yd/TnYbQXvx0b870clywOWb1hiHPQApUUeVMZc17AFm6Cd3dtrb5sAHm+DWIZ2nv8L7B7GHgi4G3HNsuneFusZu3SPY+g0XDD0EopZ8PCaRYH6VddtwC7rZAJVZ+UoKwBHC5iPJaB5nVFAzFFu2Id50cY1Q1sEQSXOa0j9EmkEvUQkZLXYwjFUNNTVHeLPSVuPaKAwdR3daPQs2Bj++uwNaK4FfQ/xvUSNVhlxXbNq6YT/zMd7Q7oUwJfCZTqdUPQ7gUm6F42+20qpqaWnZBqxPbqp8QRh6NWKbO86UAn3vO+1xxr3XoJ3Yc+dKL6VXdmogZ2eoBYbO6detQzdWI7gQv8gNIFWH3Dg52t1nbXAR4s/85ZQ0Pbz/C79tVLIH8MQ3YyxTWjBnUiwyEUXh4kmSWFp9A4V3WxEnFw== 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:(13230016)(4636009)(376002)(39860400002)(136003)(396003)(346002)(40470700004)(46966006)(36840700001)(41300700001)(110136005)(36860700001)(54906003)(40480700001)(316002)(6666004)(82310400005)(47076005)(36756003)(4326008)(44832011)(40460700003)(2906002)(86362001)(82740400003)(70586007)(7416002)(8936002)(70206006)(4744005)(26005)(5660300002)(336012)(81166007)(186003)(2616005)(7696005)(356005)(426003)(8676002)(478600001)(16526019)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:47:59.3132 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: daf7b358-37d8-4450-9232-08da7b97b8ad 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: CO1NAM11FT019.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1335 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Sync msr-index.h with the kernel sources by adding the new AMD Last Branch Record Extension Version 2 (LbrExtV2) MSRs. Signed-off-by: Sandipan Das --- tools/arch/x86/include/asm/msr-index.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/arch/x86/include/asm/msr-index.h b/tools/arch/x86/includ= e/asm/msr-index.h index cc615be27a54..7f9eaf497947 100644 --- a/tools/arch/x86/include/asm/msr-index.h +++ b/tools/arch/x86/include/asm/msr-index.h @@ -574,6 +574,9 @@ #define MSR_AMD64_PERF_CNTR_GLOBAL_CTL 0xc0000301 #define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR 0xc0000302 =20 +/* AMD Last Branch Record MSRs */ +#define MSR_AMD64_LBR_SELECT 0xc000010e + /* Fam 17h MSRs */ #define MSR_F17H_IRPERF 0xc00000e9 =20 @@ -745,6 +748,8 @@ #define MSR_AMD_DBG_EXTN_CFG 0xc000010f #define MSR_AMD_SAMP_BR_FROM 0xc0010300 =20 +#define DBG_EXTN_CFG_LBRV2EN BIT_ULL(6) + #define MSR_IA32_MPERF 0x000000e7 #define MSR_IA32_APERF 0x000000e8 =20 --=20 2.34.1 From nobody Mon Apr 13 10:27:35 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 C31EFC19F2A for ; Thu, 11 Aug 2022 12:48:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235460AbiHKMsy (ORCPT ); Thu, 11 Aug 2022 08:48:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34544 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235453AbiHKMst (ORCPT ); Thu, 11 Aug 2022 08:48:49 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2074.outbound.protection.outlook.com [40.107.94.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE30F2558F; Thu, 11 Aug 2022 05:48:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nlDYp/dATO69UqD9ixQwpio6xNMA6yGFP5YoRycHXpgLoIj0bnteQIehr3Y94JXwy2FHTk4GC59xf/iFE7qOodNdcR9d2P/4aOf+4k4lubfnXk/axoDVy7Y0FzgcNcWf08+IUU0wJzk3qxFniXP+jAukat7/KK1C9B45+8VMRiHhgtsmLIgWEMQziGOpZlHYTCnw7szqRyurWAxCC/mPEVEl+1IbB9za/2MZ4StKwYhP8NmC2v+yhDl9EUt2DbClSj32GXs+LqJSOR15bQPNfSvrXpP8FOl4dk9kZJHTAjv6jZ1CYYIKmnc+KsvPva3SpI3qKudWmdXUb2im7aU6ag== 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=5GV0rOy3hFnvC3sfPV4NPUw+DJ9HJuuyqL82CTEin0E=; b=FWry9i7fxKqkRjOzgNukF09uMhMNaDjSP0n0estf7VdQwZlasCovgAPTF6OdNdUPcyGzJKZzjPsL/VDr2DXGUKgYgzj/pUnKtk+cgvjBKpsPbYjlwgmrREm4CzeuFhE0bTgE4i+T/EF1NgSvIaqWeLZ8Woq1c82WYgJOuQczgU+f06tLQEzI4va8huc7aqVzTQdNuefh4iw59kA1kOw7IFlhXOqK02GcoqdNsqk3b4aWhVZ3Cbmumx4ioPEtfPGldQUbiUKbNafvK+iXu2yzffJS26C2wRxfHrRvp7/3GRBK1TY1iCaGgxTVgVqgG3V7pBe7Bh2IdYSBTJ8fLdAJjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=5GV0rOy3hFnvC3sfPV4NPUw+DJ9HJuuyqL82CTEin0E=; b=HhJbq3GUqH4nmQDgXv6yF7oatq+QijLzf6o2ujOlL+m1YjsfusiLydMXANpXwkYABudt66moDc+oTYYk05mPIVPEk8RadyNOuuIHqcVcSrCCyO6iXdT+vpgvGYqOvxGT9MdfaH11Aly9MCmunpF6VBvV/YRl40pZ5mhH0QtUpM4= Received: from MW4PR03CA0127.namprd03.prod.outlook.com (2603:10b6:303:8c::12) by CH2PR12MB3848.namprd12.prod.outlook.com (2603:10b6:610:16::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Thu, 11 Aug 2022 12:48:41 +0000 Received: from CO1NAM11FT066.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8c:cafe::2) by MW4PR03CA0127.outlook.office365.com (2603:10b6:303:8c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16 via Frontend Transport; Thu, 11 Aug 2022 12:48:41 +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 CO1NAM11FT066.mail.protection.outlook.com (10.13.175.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 12:48:41 +0000 Received: from sindhu.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.2375.28; Thu, 11 Aug 2022 07:48:12 -0500 From: Sandipan Das To: , , CC: , , , , , , , , , , , , , , , Subject: [PATCH 3/4] perf script: Show branch speculation info Date: Thu, 11 Aug 2022 18:16:48 +0530 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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-Office365-Filtering-Correlation-Id: f8428e82-bfc2-4496-1319-08da7b97d1a2 X-MS-TrafficTypeDiagnostic: CH2PR12MB3848:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UpQltuyChi+d0nXj7fA8TSNuKbyssb4ePOUMkYG+D4IgzYmXKRNrfy7UN6cD3SoatMs3yFZYgUvCAkyZ6AtFO+u4FEQxpxYVF2CugPJeoGa5nKVpLp3Ev7GPAyPXNuhLPURQHaNq+KaotAmZTgQbo4iRywwWpVtgl5TizUDcOHHIISmVnpUZie6HizCkHEtwUGy2DF3/8bQbwLTPU0W8FRznX5TpwDpke8rmlXTzasoKe97KDtakjinYc/wurcj/8YMt8nqrkmzxf7dgQLNbWck3PiVgdwAyx+8dqLs5yzt9WLr9f1uaNzB6LielZI5bFxzupFfOJZZpCg0XMA5bc4QzL8OYjFDMhEVv9lR4k8JcSyzmDV+z4k9Jf6Bk0SxFv4hc3DT86KzVLlnq8rtHnosXDXQ2hvEFddK4BOhFbAS1Uq/gCrQSGnl6VMS/BSBO+lpC7vA/yDctoUVBia8eLaIeGZ7zdwSFbyP35ptCs45U7GsJD8Kw3FxVCkoboQv5TsPDL9D9NWYeXIzxdx8MMfDvLLmj4IjxWYMh30kCgTqiLh73iAwtW9L1pbihzGS90VabsM/No6PhZtzyaq1513OpadBmnIrS3aq2/Ka35ICg3oic+oAo6Tytot9+KCV1MjrAPdRXQ1RHP/Pfd7z/edi3423rd06b6nOpS5nVck79Y3xDXnizpD1ao1oAit5Z1/vic4ARMyTXtLm2SqJfbxzXt/xsS6de/4PKfdjiakG6qZSjQEc9WbLrF24Ts3MglR+LkGPmn0e3zlsto4ZH1lPwOmG6l3fMNCVb9a3986lE7XfBPuDf0h3KKpJdWWUv4gOIeHbrSV7+RnJqA+Wkxg== 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:(13230016)(4636009)(396003)(39860400002)(346002)(136003)(376002)(46966006)(40470700004)(36840700001)(186003)(316002)(336012)(16526019)(70586007)(426003)(54906003)(47076005)(110136005)(6666004)(86362001)(7696005)(82310400005)(26005)(83380400001)(2616005)(478600001)(40480700001)(4326008)(44832011)(7416002)(8936002)(41300700001)(40460700003)(8676002)(81166007)(5660300002)(356005)(82740400003)(36756003)(36860700001)(2906002)(70206006)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:48:41.1184 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f8428e82-bfc2-4496-1319-08da7b97d1a2 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: CO1NAM11FT066.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB3848 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Show the branch speculation info if provided by the branch recording hardware feature. This can be useful for optimizing code further. The speculation info is appended to the end of the list of fields so any existing tools that use "/" as a delimiter for access fields via an index remain unaffected. Also show "-" instead of "N/A" when speculation info is unavailable because "/" is used as the field separator. E.g. $ perf record -j any,u,save_type ./test_branch $ perf script --fields brstacksym Before: [...] check_match+0x60/strcmp+0x0/P/-/-/0/CALL do_lookup_x+0x3c5/check_match+0x0/P/-/-/0/CALL [...] After: [...] check_match+0x60/strcmp+0x0/P/-/-/0/CALL/NON_SPEC_CORRECT_PATH do_lookup_x+0x3c5/check_match+0x0/P/-/-/0/CALL/NON_SPEC_CORRECT_PATH [...] Signed-off-by: Sandipan Das --- tools/perf/builtin-script.c | 5 +++-- tools/perf/util/branch.c | 15 +++++++++++++++ tools/perf/util/branch.h | 5 ++++- tools/perf/util/evsel.c | 9 ++++++--- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index ac19fee62d8e..d294ac804244 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -872,12 +872,13 @@ mispred_str(struct branch_entry *br) =20 static int print_bstack_flags(FILE *fp, struct branch_entry *br) { - return fprintf(fp, "/%c/%c/%c/%d/%s ", + return fprintf(fp, "/%c/%c/%c/%d/%s/%s ", mispred_str(br), br->flags.in_tx ? 'X' : '-', br->flags.abort ? 'A' : '-', br->flags.cycles, - br->flags.type ? branch_type_name(br->flags.type) : "-"); + br->flags.type ? branch_type_name(br->flags.type) : "-", + br->flags.spec ? branch_spec_desc(br->flags.spec) : "-"); } =20 static int perf_sample__fprintf_brstack(struct perf_sample *sample, diff --git a/tools/perf/util/branch.c b/tools/perf/util/branch.c index a9a909db8cc7..29d89425a011 100644 --- a/tools/perf/util/branch.c +++ b/tools/perf/util/branch.c @@ -146,3 +146,18 @@ int branch_type_str(struct branch_type_stat *st, char = *bf, int size) =20 return printed; } + +const char *branch_spec_desc(int spec) +{ + const char *branch_spec_outcomes[PERF_BR_SPEC_MAX] =3D { + "N/A", + "SPEC_WRONG_PATH", + "NON_SPEC_CORRECT_PATH", + "SPEC_CORRECT_PATH", + }; + + if (spec >=3D 0 && spec < PERF_BR_SPEC_MAX) + return branch_spec_outcomes[spec]; + + return NULL; +} diff --git a/tools/perf/util/branch.h b/tools/perf/util/branch.h index 17b2ccc61094..8563b88b8281 100644 --- a/tools/perf/util/branch.h +++ b/tools/perf/util/branch.h @@ -24,7 +24,8 @@ struct branch_flags { u64 abort:1; u64 cycles:16; u64 type:4; - u64 reserved:40; + u64 spec:2; + u64 reserved:38; }; }; }; @@ -85,4 +86,6 @@ const char *branch_type_name(int type); void branch_type_stat_display(FILE *fp, struct branch_type_stat *st); int branch_type_str(struct branch_type_stat *st, char *bf, int bfsize); =20 +const char *branch_spec_desc(int spec); + #endif /* _PERF_BRANCH_H */ diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 4852089e1d79..e47cf16bef0a 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -2313,7 +2313,8 @@ u64 evsel__bitfield_swap_branch_flags(u64 value) * abort:1 //transaction abort * cycles:16 //cycle count to last branch * type:4 //branch type - * reserved:40 + * spec:2 //branch speculation info + * reserved:38 * } * } * @@ -2332,7 +2333,8 @@ u64 evsel__bitfield_swap_branch_flags(u64 value) new_val |=3D bitfield_swap(value, 3, 1); new_val |=3D bitfield_swap(value, 4, 16); new_val |=3D bitfield_swap(value, 20, 4); - new_val |=3D bitfield_swap(value, 24, 40); + new_val |=3D bitfield_swap(value, 24, 2); + new_val |=3D bitfield_swap(value, 26, 38); } else { new_val =3D bitfield_swap(value, 63, 1); new_val |=3D bitfield_swap(value, 62, 1); @@ -2340,7 +2342,8 @@ u64 evsel__bitfield_swap_branch_flags(u64 value) new_val |=3D bitfield_swap(value, 60, 1); new_val |=3D bitfield_swap(value, 44, 16); new_val |=3D bitfield_swap(value, 40, 4); - new_val |=3D bitfield_swap(value, 0, 40); + new_val |=3D bitfield_swap(value, 38, 2); + new_val |=3D bitfield_swap(value, 0, 38); } =20 return new_val; --=20 2.34.1 From nobody Mon Apr 13 10:27:35 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 030A8C19F2A for ; Thu, 11 Aug 2022 12:49:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235461AbiHKMtL (ORCPT ); Thu, 11 Aug 2022 08:49:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235480AbiHKMtD (ORCPT ); Thu, 11 Aug 2022 08:49:03 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2043.outbound.protection.outlook.com [40.107.92.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D73F90C7A; Thu, 11 Aug 2022 05:49:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c23tGYEufZ8VII+Z437WH5L7lbQ9By9U8pqz9rUEIYqwwPPnU29i2O8qAGBdqAxkhpewMktklaK53QNwIa1Kp2eY+FrCd+pZZUWrFYOnCU0Texnk1oR4cXMm/0AHZUe+A2zBo/FBctyPzYKmz2TuOLkFLMfaoxrRo2LRVvKXzUggGNByKwTbVnV/mlzp/IB0vKVU2VRjRVryAkipV6Z5juHKSr8b7rVTqRnBQ6CvGSUBp/+qWk+eJNYmvcwb7EArn1f+NAef0a/zIF4bjm/tEe0vWxzi4lhRRjQptrVjQh+zUN1F/b1zQOT8GF/VJkjhiho1BThCRveICbfzEnkKAA== 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=lJkb4zZ6v/xGwPLK7YyD4jii5d461pZFtjNUvdB5twg=; b=Wq5Hricz+kBnvWYZp3lqLWIGXX7rTYzBOcXQEEyFQVtNWzJ0dUiTioeHLUQSCzospXeedKwuHj7nkyp+oqDmHmY9kmEZCV/Hw/wTXHaW4ZC+ahmg9lYSqMDXooFkCfQTHRe/b/HxgOLQ5ALqCrdwn9h293ghppgTVCxV2+EmFlKGe4tTTJoEoCuPqbdUNDP2gvC/INd53m03hpWFhiLW9LFk9BljFSfs9Ty2YiCucpznlmOWM7N2hxOqQ/Oz/0LhFw323u0wqzNPsltBp2Ga+E9iMyoR1CEBaXPM9CBKueN/j5EoWiTg8olT4u7z1DeLib7eN9ucVpSF3+w09NdysA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.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=lJkb4zZ6v/xGwPLK7YyD4jii5d461pZFtjNUvdB5twg=; b=Qq6PZWvf0ZW7F00RmpNKULIywFQ4coxMT/baiuGpi0HW6siQwZJ3wmYQ+EISPWuvM80kMUixcub7NXk543pehruTYE8/i90fQMYTgUOI/08PTgTqUbvNtsGAN7crfXI4fFc2o8hWKoNedNSjpz8xOmz6HlEoxzlkFYbZcpG4YEo= Received: from MW4PR03CA0246.namprd03.prod.outlook.com (2603:10b6:303:b4::11) by CH2PR12MB4937.namprd12.prod.outlook.com (2603:10b6:610:64::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.15; Thu, 11 Aug 2022 12:49:00 +0000 Received: from CO1NAM11FT024.eop-nam11.prod.protection.outlook.com (2603:10b6:303:b4:cafe::fc) by MW4PR03CA0246.outlook.office365.com (2603:10b6:303:b4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.23 via Frontend Transport; Thu, 11 Aug 2022 12:48:59 +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 CO1NAM11FT024.mail.protection.outlook.com (10.13.174.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5525.11 via Frontend Transport; Thu, 11 Aug 2022 12:48:59 +0000 Received: from sindhu.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.2375.28; Thu, 11 Aug 2022 07:48:52 -0500 From: Sandipan Das To: , , CC: , , , , , , , , , , , , , , , Subject: [PATCH 4/4] perf session: Show branch speculation info in raw dump Date: Thu, 11 Aug 2022 18:16:49 +0530 Message-ID: <1b95e0aaedfb167c6780761aaecd08ce93c1c765.1660217326.git.sandipan.das@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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-Office365-Filtering-Correlation-Id: 0942bbe3-33b1-4d1c-4aac-08da7b97dc85 X-MS-TrafficTypeDiagnostic: CH2PR12MB4937:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JT37nxO1owwImY2160AGc0rvcS+xWw84v71GUMjqeFuSkLSIez5e2kxp4t5a1RObCpYxFFeIfWgrK8swLrhh6+8ELpyzTIILV5DjvnlJVY2zdDElenj8tgP4ssAFXhdfaVL73+NsH/5qJVbaRIz9DNcq2d5j74TzDRtZAkqEvZPQO2zTmWxq8yks5ofw9GFXyYdR/Yot/P/kEQ76QYZqHu5vM9ZRMjrD2apWHTuFZjhwZEKLP0NZKIxqs/H/TZJna/rDvDyGeKAiyCVF1VDLBut2eRMboZyE9FpAv+xriCEj5y5l+aauL+5NJuRSWncLep7TajuEImQppDf+3i3c9nuI5FZEjes7hPqec2XQZI0Drqkxs5LLkZvTEP5Ckne4v5rZirK3Fvs5zCdA8F08rfsYiVZiY77hRIU5kFeMgHexTEjBc/eqYfVJBkpD4N1bcHttmzwaLb0AqryfhFdpl8v77Rq1rQ/drLtRMIl6xQRLJxn7NQf6L/L+vXpjaPNDLf+sWgiKbWr6gruy+6X0zb89kGsuM4U91TQyCndu+5mNum2TZynIMf6KoCPpv5SFAbEpzUIJ2FJ8mBzGqDdlM0FFAwWoLe5LX/TCyIwbdMOwz2qr8ftp1l/ZeE/3z1Sr3wk5+xpMiiVjdTwgATBVTXA0TjNhXIf0NrWdeZ8ii87HfYNBZWM34zKvbKG0F83kIMgmajuGl47sbOTUTrYhHVfOe03nKk1K3O9SvyKGpfqfVFmFHjkyrB078H7oVynWVDQLKGhawIAmGYP0/sA4PoVIum4YUy4u8wQZgGJUyuLZ6upePYbXfBTekPReUwVdlRkFBvcI+GIqbgZTs/fx7w== 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:(13230016)(4636009)(136003)(39860400002)(396003)(376002)(346002)(40470700004)(36840700001)(46966006)(7696005)(44832011)(2906002)(7416002)(336012)(6666004)(41300700001)(426003)(47076005)(16526019)(186003)(82310400005)(82740400003)(83380400001)(356005)(81166007)(26005)(2616005)(8936002)(4326008)(36756003)(70206006)(40460700003)(70586007)(110136005)(54906003)(316002)(478600001)(8676002)(40480700001)(36860700001)(5660300002)(86362001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2022 12:48:59.4628 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0942bbe3-33b1-4d1c-4aac-08da7b97dc85 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: CO1NAM11FT024.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4937 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Show the branch speculation info if provided by the branch recording hardware feature. This can be useful for optimizing code further. E.g. $ perf record -j any,u ./test_branch $ perf report --dump-raw-trace Before: [...] 8380958377610 0x40b178 [0x1b0]: PERF_RECORD_SAMPLE(IP, 0x2): 7952/7952: 0= x4f851a period: 48973 addr: 0 ... branch stack: nr:16 ..... 0: 00000000004b52fd -> 00000000004f82c0 0 cycles P 0 ..... 1: ffffffff8220137c -> 00000000004b52f0 0 cycles M 0 ..... 2: 000000000041d1c4 -> 00000000004b52f0 0 cycles P 0 ..... 3: 00000000004e7ead -> 000000000041d1b0 0 cycles M 0 ..... 4: 00000000004e7f91 -> 00000000004e7ead 0 cycles P 0 ..... 5: 00000000004e7ea8 -> 00000000004e7f70 0 cycles P 0 ..... 6: 00000000004e7e52 -> 00000000004e7e98 0 cycles M 0 ..... 7: 00000000004e7e1f -> 00000000004e7e40 0 cycles M 0 ..... 8: 00000000004e7f60 -> 00000000004e7df0 0 cycles P 0 ..... 9: 00000000004e7f58 -> 00000000004e7f60 0 cycles M 0 ..... 10: 000000000041d85d -> 00000000004e7f50 0 cycles P 0 ..... 11: 000000000043306a -> 000000000041d840 0 cycles P 0 ..... 12: ffffffff8220137c -> 0000000000433040 0 cycles M 0 ..... 13: 000000000041e4a1 -> 0000000000433040 0 cycles P 0 ..... 14: ffffffff8220137c -> 000000000041e490 0 cycles M 0 ..... 15: 000000000041d89b -> 000000000041e487 0 cycles P 0 ... thread: test_branch:7952 ...... dso: /data/sandipan/test_branch [...] After: [...] 8380958377610 0x40b178 [0x1b0]: PERF_RECORD_SAMPLE(IP, 0x2): 7952/7952: 0= x4f851a period: 48973 addr: 0 ... branch stack: nr:16 ..... 0: 00000000004b52fd -> 00000000004f82c0 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 1: ffffffff8220137c -> 00000000004b52f0 0 cycles M 0 NON_SPEC_= CORRECT_PATH ..... 2: 000000000041d1c4 -> 00000000004b52f0 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 3: 00000000004e7ead -> 000000000041d1b0 0 cycles M 0 NON_SPEC_= CORRECT_PATH ..... 4: 00000000004e7f91 -> 00000000004e7ead 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 5: 00000000004e7ea8 -> 00000000004e7f70 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 6: 00000000004e7e52 -> 00000000004e7e98 0 cycles M 0 SPEC_CORR= ECT_PATH ..... 7: 00000000004e7e1f -> 00000000004e7e40 0 cycles M 0 NON_SPEC_= CORRECT_PATH ..... 8: 00000000004e7f60 -> 00000000004e7df0 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 9: 00000000004e7f58 -> 00000000004e7f60 0 cycles M 0 NON_SPEC_= CORRECT_PATH ..... 10: 000000000041d85d -> 00000000004e7f50 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 11: 000000000043306a -> 000000000041d840 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 12: ffffffff8220137c -> 0000000000433040 0 cycles M 0 NON_SPEC_= CORRECT_PATH ..... 13: 000000000041e4a1 -> 0000000000433040 0 cycles P 0 NON_SPEC_= CORRECT_PATH ..... 14: ffffffff8220137c -> 000000000041e490 0 cycles M 0 NON_SPEC_= CORRECT_PATH ..... 15: 000000000041d89b -> 000000000041e487 0 cycles P 0 NON_SPEC_= CORRECT_PATH ... thread: test_branch:7952 ...... dso: /data/sandipan/test_branch [...] Signed-off-by: Sandipan Das --- tools/perf/util/session.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 98e16659a149..39ba4a21aa42 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -1172,7 +1172,7 @@ static void branch_stack__printf(struct perf_sample *= sample, bool callstack) struct branch_entry *e =3D &entries[i]; =20 if (!callstack) { - printf("..... %2"PRIu64": %016" PRIx64 " -> %016" PRIx64 " %hu cycles %= s%s%s%s %x %s\n", + printf("..... %2"PRIu64": %016" PRIx64 " -> %016" PRIx64 " %hu cycles %= s%s%s%s %x %s %s\n", i, e->from, e->to, (unsigned short)e->flags.cycles, e->flags.mispred ? "M" : " ", @@ -1180,7 +1180,8 @@ static void branch_stack__printf(struct perf_sample *= sample, bool callstack) e->flags.abort ? "A" : " ", e->flags.in_tx ? "T" : " ", (unsigned)e->flags.reserved, - e->flags.type ? branch_type_name(e->flags.type) : ""); + e->flags.type ? branch_type_name(e->flags.type) : "", + e->flags.spec ? branch_spec_desc(e->flags.spec) : ""); } else { if (i =3D=3D 0) { printf("..... %2"PRIu64": %016" PRIx64 "\n" --=20 2.34.1