From patchwork Tue Jan 2 06:01:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandipan Das X-Patchwork-Id: 184248 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp4288331dyb; Mon, 1 Jan 2024 22:02:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IH0XegrZ0rwRJ9eVwlC4b28GI/bEEnqXkC4OSIbWUWyXyTScfe6Ht0wYFdLhcKcumauKL57 X-Received: by 2002:a17:903:22cf:b0:1d4:c339:3a29 with SMTP id y15-20020a17090322cf00b001d4c3393a29mr509685plg.18.1704175368332; Mon, 01 Jan 2024 22:02:48 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1704175368; cv=pass; d=google.com; s=arc-20160816; b=P32TnvuUy1OhC8p8RQKaxPlTWmAh4LIet/hbSA+594fOs2B1jmP1+G/bK8xFLIlfkm gFe5Cce24R+8n/049OUo0juJPr9N2C+qFopgkWFBQRSdb6uLby4gFOXzOGI0WFZ3Y2WN Yut73Ze8wkujBPw/8Vai2CgudYXhqxAcpB59pG/wqE2uS6Mn1RiSbGuTgCfdVjifVnlB QCQ4+QIdwSfl6AOzpXZGa7T/UWtMuuhHWLT4quEwFAHFJsh8+k9+A0CHYoebpEpArLef lCWGYZ8TiXZ7oAfKuDY6R2qShsJhYDG5i8UCcK9aHJoj0HBG/Nt6RgNz2MYx2FZW6PKF lpjA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=HlvVQ4BRp4JFq9mRJxrYaCb4qN1pFpK5TMOIPbCUvoQ=; fh=7DSJ6HsAGn8b2kv6IrmvHO9VmBwNoKDtNB+iEZ28n+Y=; b=HLmbekcaeyiFNTxEQW8Coe6VyT7wFcAGqqT1zLVLc1m74UP1iW9o81ntyFBOqIHdk+ O/Leab8oLFfR1JIk/zZTgD4RuVbBlGRa6Msnzr28y55ctkpsQOPogVWrXG0Mhp4gSuPK 8p8rmfAy7G6nvw2j03QzOc/zvmV0AzngeOHCrU4RVxtwYEdnro2nhFTGe8nxuEmpqVuu XPTcF/mWvaguHtamtAF47VpPsychhsE/vnjSb4Xw5Y+SrEMgvvna8ZDWChs2aR00ftdi U+dbZTA1ChPq0ZL7Pj+ksKwBY/xCDfUXUBvqEQR8UKMtgOv9DkPKbpR0CkxGZn9vI4rE /G4A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=2fSR24Fx; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel+bounces-14070-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14070-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id s19-20020a170902989300b001d4666effc8si12070402plp.188.2024.01.01.22.02.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jan 2024 22:02:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-14070-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=2fSR24Fx; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel+bounces-14070-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14070-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 07232282369 for ; Tue, 2 Jan 2024 06:02:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 99A90211A; Tue, 2 Jan 2024 06:02:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="2fSR24Fx" X-Original-To: linux-kernel@vger.kernel.org Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2084.outbound.protection.outlook.com [40.107.94.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 820AD15A1; Tue, 2 Jan 2024 06:02:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AZHdqUe9aJpNzVdFIg8wYAeKB4dAkfbVdrJV56aMxyvMYmVf+VUXdzp7DJbZGpp3A59WrKQTAhqM6alASkkz+bZ0jC++fnfQiQ8Ng4u0C+QPRTuQkYBT4ZrIFjVs47J0QUO/4v+cV1DA4kIgHV3qv6WDfKJJpBLUOT/4SmcCxrRtmsIVFdk4Si0s+dv7RKliJ+TNOWZsGQ5eNco7TF5idgQaLWdBWI1/B7nLpN9OiocBVOJ5iZGY40sTRw83wc3XWjHa+j8TLJ8PhVk6aXdetP/pFnFMgbMRDdI8c/dnz8K6ueVsXlJFxqiAkEOCSr2JWXso3/MJyHRaMjblgHnXvA== 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=HlvVQ4BRp4JFq9mRJxrYaCb4qN1pFpK5TMOIPbCUvoQ=; b=hSEbLW1Ow9Q86o7fVTdvVrXMYsiyZm3VIBU0TXx8+dIK+QCo59BGor8KQ4EIUI0tuyT6f1FIhXHMWNO5SuuiXTUHGQWfxIIYiyzcY9o+QJ0y8nyuOu77AO1IsXMDWGoQ2g18X03mvpBO/5qZAJOvyZBGthITechu95rn7y1VCB/jOVfRpZbsApvtd8NipEsExTzEJ/ELbKFnXHrNJmQVQh0/mDCHjb1x4gzxIsvlPLjRiuuD3Cn4NtStyCi8YJZ3W8FnYtGYhmD5+nw0N5UZf82OquBT0wjasQj58/B1bbQMPb4BP+FVhMRJ3js6Vqt/ePSW9Bm3FsimWVNSQUa6fw== 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 (0) 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=HlvVQ4BRp4JFq9mRJxrYaCb4qN1pFpK5TMOIPbCUvoQ=; b=2fSR24FxTyIB2xsyx5IrcHS9M7hcvcxOaHkPfMhw7ReOevR3oSQkd9vWmtwElmeMM05NU6iPyWq2LlaQ6qs831WtNYAJvdrMR/HDz5wVSaX2oTgPiwNH0/pb2CDRx2qWSS4d2iMoRG/3erCwZv7wsJJhnbJQwEt5GXqE2Cgq+KU= Received: from MW4PR04CA0177.namprd04.prod.outlook.com (2603:10b6:303:85::32) by BL0PR12MB4995.namprd12.prod.outlook.com (2603:10b6:208:1c7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 06:02:24 +0000 Received: from CO1PEPF000044F7.namprd21.prod.outlook.com (2603:10b6:303:85:cafe::72) by MW4PR04CA0177.outlook.office365.com (2603:10b6:303:85::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25 via Frontend Transport; Tue, 2 Jan 2024 06:02:24 +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 CO1PEPF000044F7.mail.protection.outlook.com (10.167.241.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7181.1 via Frontend Transport; Tue, 2 Jan 2024 06:02:24 +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.2507.34; Tue, 2 Jan 2024 00:02:18 -0600 From: Sandipan Das To: , CC: , , , , , , , , , , , , , , , , Subject: [PATCH v2 1/3] perf/x86/amd/lbr: Use freeze based on availability Date: Tue, 2 Jan 2024 11:31:28 +0530 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: CO1PEPF000044F7:EE_|BL0PR12MB4995:EE_ X-MS-Office365-Filtering-Correlation-Id: 120429f7-fcff-4618-2ee3-08dc0b586412 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uL2AN35YYc6uC7TV+LFZs6ggZq8laWT28OCrruY4ASy1B44OR4KKxY+w8Rka6YHh6U4E96mlUkOB50r5qq0Ft95vg5eWjK7yh8B5TlvSUH/Hs44J3yZ+BlENW3IDBWwWSnn8POeBBvvOTlPEvnKloptAQjEaKd0Jb1OEtTqUodPwudBdREzPOsKY+EvxGGzLtDR3hxNPv739AVG+ReHnIfvmCK1jw+xrzBV/R8qEKaxENReg51a69XBJ/bpAhPsThZsPNoKG0CLqfnDaLdksmSTysdUfasi1lohxaoW9TOVaiHZXoL50pWDtnhfvB0lepL9f/PE6OT2SB/wG+U5kSFGj2AwuGVBGt/O76SeiG3FT4CgKnPNAslBXPlSAiqZbi/QiSSpDcUMi3N3Y1BvEH7yk8a6j/iJP9MhmByGf1+cMW6n0+G66Ho1H2MuNSSWyotL2lBXoMxIhZZY7UnLtkWjB+AYjzIk38zBmEAkCfrwCGEBooSTOeHJO8OfvfzXDymSueMZ9YblQmIkTEPur5Kl8au0FdIfXlPl0/h6WHGfX2imLfToIc2ssJASl05SRduGlThDx20LLZuB2YuEJr9cgU05k+3u2kLZ3hGGTqVcoORkJjL51qlFDvC1QA3JO/MsrU05Y7UIyzUANPkW8e9VlCaKiwp1XL7v/E6QqjKvW1ha5UqUwYPrmpEBsrY2r463fc0UHIaCABlQjv3hesWWtc1tmoNZFWuiPuEOQ9hA1K54S66mdlM48R4TiSI3R 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:(13230031)(4636009)(136003)(376002)(346002)(39850400004)(396003)(230922051799003)(451199024)(64100799003)(1800799012)(82310400011)(186009)(36840700001)(46966006)(426003)(26005)(2616005)(336012)(16526019)(36860700001)(81166007)(356005)(83380400001)(82740400003)(47076005)(110136005)(70586007)(70206006)(316002)(54906003)(36756003)(478600001)(86362001)(5660300002)(7416002)(2906002)(44832011)(8936002)(8676002)(4326008)(40480700001)(6666004)(7696005)(41300700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2024 06:02:24.2146 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 120429f7-fcff-4618-2ee3-08dc0b586412 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: CO1PEPF000044F7.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4995 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786957391066263163 X-GMAIL-MSGID: 1786957391066263163 Currently, it is assumed that LBR Freeze is supported on all processors which have CPUID leaf 0x80000022[EAX] bit 1 set. This is incorrect as the feature availability is additionally dependent on CPUID leaf 0x80000022[EAX] bit 2 being set which may not be set for all Zen 4 processors. Define a new feature bit for LBR and PMC freeze and set the freeze enable bit (FLBRI) in DebugCtl (MSR 0x1d9) conditionally. It should still be possible to use LBR without freeze for profile-guided optimization of user programs by using an user-only branch filter during profiling. When the user-only filter is enabled, branches are no longer recorded after the transition to CPL 0 upon PMI arrival. When branch entries are read in the PMI handler, the branch stack does not change. E.g. $ perf record -j any,u -e ex_ret_brn_tkn ./workload Fixes: ca5b7c0d9621 ("perf/x86/amd/lbr: Add LbrExtV2 branch record support") Signed-off-by: Sandipan Das --- arch/x86/events/amd/core.c | 4 ++-- arch/x86/events/amd/lbr.c | 16 ++++++++++------ arch/x86/include/asm/cpufeatures.h | 2 +- arch/x86/kernel/cpu/scattered.c | 1 + 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/arch/x86/events/amd/core.c b/arch/x86/events/amd/core.c index 4ee6390b45c9..ffdfaee08b08 100644 --- a/arch/x86/events/amd/core.c +++ b/arch/x86/events/amd/core.c @@ -905,8 +905,8 @@ static int amd_pmu_v2_handle_irq(struct pt_regs *regs) if (!status) goto done; - /* Read branch records before unfreezing */ - if (status & GLOBAL_STATUS_LBRS_FROZEN) { + /* Read branch records */ + if (x86_pmu.lbr_nr) { amd_pmu_lbr_read(); status &= ~GLOBAL_STATUS_LBRS_FROZEN; } diff --git a/arch/x86/events/amd/lbr.c b/arch/x86/events/amd/lbr.c index eb31f850841a..110e34c59643 100644 --- a/arch/x86/events/amd/lbr.c +++ b/arch/x86/events/amd/lbr.c @@ -400,10 +400,12 @@ void amd_pmu_lbr_enable_all(void) wrmsrl(MSR_AMD64_LBR_SELECT, lbr_select); } - rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl); - rdmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg); + if (cpu_feature_enabled(X86_FEATURE_AMD_LBR_PMC_FREEZE)) { + rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl); + wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI); + } - wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI); + rdmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg); wrmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg | DBG_EXTN_CFG_LBRV2EN); } @@ -416,10 +418,12 @@ void amd_pmu_lbr_disable_all(void) return; rdmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg); - rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl); - wrmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg & ~DBG_EXTN_CFG_LBRV2EN); - wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl & ~DEBUGCTLMSR_FREEZE_LBRS_ON_PMI); + + if (cpu_feature_enabled(X86_FEATURE_AMD_LBR_PMC_FREEZE)) { + rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl); + wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl & ~DEBUGCTLMSR_FREEZE_LBRS_ON_PMI); + } } __init int amd_pmu_lbr_init(void) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 4af140cf5719..e47ea31b019d 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -97,7 +97,7 @@ #define X86_FEATURE_SYSENTER32 ( 3*32+15) /* "" sysenter in IA32 userspace */ #define X86_FEATURE_REP_GOOD ( 3*32+16) /* REP microcode works well */ #define X86_FEATURE_AMD_LBR_V2 ( 3*32+17) /* AMD Last Branch Record Extension Version 2 */ -/* FREE, was #define X86_FEATURE_LFENCE_RDTSC ( 3*32+18) "" LFENCE synchronizes RDTSC */ +#define X86_FEATURE_AMD_LBR_PMC_FREEZE ( 3*32+18) /* AMD LBR and PMC Freeze */ #define X86_FEATURE_ACC_POWER ( 3*32+19) /* AMD Accumulated Power Mechanism */ #define X86_FEATURE_NOPL ( 3*32+20) /* The NOPL (0F 1F) instructions */ #define X86_FEATURE_ALWAYS ( 3*32+21) /* "" Always-present feature */ diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c index 0dad49a09b7a..a515328d9d7d 100644 --- a/arch/x86/kernel/cpu/scattered.c +++ b/arch/x86/kernel/cpu/scattered.c @@ -49,6 +49,7 @@ static const struct cpuid_bit cpuid_bits[] = { { X86_FEATURE_BMEC, CPUID_EBX, 3, 0x80000020, 0 }, { X86_FEATURE_PERFMON_V2, CPUID_EAX, 0, 0x80000022, 0 }, { X86_FEATURE_AMD_LBR_V2, CPUID_EAX, 1, 0x80000022, 0 }, + { X86_FEATURE_AMD_LBR_PMC_FREEZE, CPUID_EAX, 2, 0x80000022, 0 }, { 0, 0, 0, 0, 0 } }; From patchwork Tue Jan 2 06:01:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandipan Das X-Patchwork-Id: 184249 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp4288758dyb; Mon, 1 Jan 2024 22:04:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IGgv4kcGSUSI539kuvb4ei9p7vWl48gea/Thq/WavdsB7EHJK8YJ2Sn91Z//zSRaXhETL0r X-Received: by 2002:aa7:d287:0:b0:553:84c0:1797 with SMTP id w7-20020aa7d287000000b0055384c01797mr9912792edq.62.1704175443002; Mon, 01 Jan 2024 22:04:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1704175442; cv=pass; d=google.com; s=arc-20160816; b=BLY2uB8qc93LwMpuSBncK22FdxKwGGxyltVFUiNhB/LW13PmCE/H+gnhm+Cl0ylWiq ptHzIc44WV7IdXr1+a8BJlaIDppPgYEm0wrawkEJc0dHIExlerz9YQUnSwPqCgkrDCmS V7QPedWI7lHqqZdKEcK6nHJG8rJSXezTyQI6Wr5M7B6iwPgg36E4f5sNY+HIs1jOJjrr gR0OQOOhrGJsnfmEJzecRFjb+f2sgp3nGfWTbsVdhXw3XKu3kvNkssgAdH6d/VJJQ8tD zpJn+ffADtHFUcT8brulZeIg9FYkGJh4rvi5JIQrkwH7gWHPGutFYdDqoLOOYQ47VVaF inPA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=vQLMv0TBjQm7us/LaGvFyZIRMe1q+hi8pizCeO6Dmy8=; fh=7DSJ6HsAGn8b2kv6IrmvHO9VmBwNoKDtNB+iEZ28n+Y=; b=gK6bwcMpBpYYgad/hlkBdhzbSXCJLwOwIFu/IQqZp9o5fnIls1zH9cCG+3H2qovinU wHXmf+BzmLMTv5NEaEdHTnuSvUGmmG0qiR6rWttSnIgPZ7qhkMWST5NKyqM/16ipCLRU Sy8Cwf80tmffy5oJKaOhnTZfYYckepJguMposH65tDTSzZvtf2KpGIM7JDb41QcJLJZ/ OPrzs/uaOXbDHvuYkH3+j3Au23b3WZSUQBa8aVma0FIPuoAkhS8JEEC1NG46UIOl08tU AVz42MkRjCrEvWWDTy2K9tp/SSXU1bxuXNkhk8DZwE/B0+mteqHgrKgbYjxwrOeGPseG lW8g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="gZLGT/mW"; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel+bounces-14071-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14071-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id c15-20020a05640227cf00b0055405e5c83csi10923679ede.268.2024.01.01.22.04.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jan 2024 22:04:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-14071-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="gZLGT/mW"; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel+bounces-14071-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14071-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 722601F21BE2 for ; Tue, 2 Jan 2024 06:04:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2283F2108; Tue, 2 Jan 2024 06:03:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="gZLGT/mW" X-Original-To: linux-kernel@vger.kernel.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2077.outbound.protection.outlook.com [40.107.223.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1268D15BD; Tue, 2 Jan 2024 06:03:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CAkCP7sv9fZZvAAXgnv59JXcTQ/Zo1cXqRsS6pMDbT6z6KrKq3pkY7S3O6q6yGTh1VMxhWLwCZdCpBKH8ATM7dzOSgtA01D69kz51TzBKDdQshHovrMjnCH7jnyxDCy0jwVPAXh+7IPYAoWI0MR95CP1scPs2OXBz7ba8aQE3n/+nW5lVeCiaWIQRimhmP1343PGZx6b1E9nqAZHd4ybLf8Qq1I9+wt59f0Fc50u6+J06J0Vsg448c5f+oO6tbGCvzVFx5u3jcupAZwOPAfMwSOUpJHTUJXFVqdQQDM4lZwyoWNf+kfk9rZ+qULEwM4hU2UYI7Mp/65AwKkt6uqzgw== 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=vQLMv0TBjQm7us/LaGvFyZIRMe1q+hi8pizCeO6Dmy8=; b=aYtlNX+Xn850APnpDzNhyMPQ+mP5Ggvxdatl7AUPPX9WgoAxfOCe8RR9ah/zrMf5/pru/EskhBjJYBxnYeRc9UH3+iQf1BZuyrDu9H/q9GSWjQFEDrR0oFKC5wPLl6gZ5QTIK95HjpNwk3fGPpz1MI3SONCXuJ6Z8Nxx9YtHzDKqbD/VbQEU5ZwisDveHuL/LGMgE3+XWshhkIYkyJrLQi+eOgTbwmm1XkPPyJYqAjXXHx5ikwVN/l3yXKgc8SKfAmI6EKVmQw3qhHlDZT0RtBgbJezg6YFeKPKmiozibSDyuWf60/wj6yjT8NYyxC45ZfXRfzmD9/P41p/tW11c1A== 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 (0) 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=vQLMv0TBjQm7us/LaGvFyZIRMe1q+hi8pizCeO6Dmy8=; b=gZLGT/mWOrOniGHVPKJbkmgLIusjrYO4hVd+MNyetlXkRXMU2iBM2kLE8cHO5gh8nDnYqJg+Zo1Ec9OA22GcanXJ7wl1aT1u06CQHpgG/p0tqwCbNvxTpl3d+dJ/7loH2o+ggWDfC95fFbmsLhi9qXeL/lmb4LF+0H6RppoVnAk= Received: from MW4P222CA0002.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::7) by CYXPR12MB9425.namprd12.prod.outlook.com (2603:10b6:930:dc::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 06:03:37 +0000 Received: from CO1PEPF000044FD.namprd21.prod.outlook.com (2603:10b6:303:114:cafe::16) by MW4P222CA0002.outlook.office365.com (2603:10b6:303:114::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20 via Frontend Transport; Tue, 2 Jan 2024 06:03:37 +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 CO1PEPF000044FD.mail.protection.outlook.com (10.167.241.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7181.1 via Frontend Transport; Tue, 2 Jan 2024 06:03:36 +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.2507.34; Tue, 2 Jan 2024 00:03:30 -0600 From: Sandipan Das To: , CC: , , , , , , , , , , , , , , , , Subject: [PATCH v2 2/3] perf/x86/amd/lbr: Discard erroneous branch entries Date: Tue, 2 Jan 2024 11:31:29 +0530 Message-ID: <030248bbb58b8657b98e38117947352de29001d8.1704103399.git.sandipan.das@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: CO1PEPF000044FD:EE_|CYXPR12MB9425:EE_ X-MS-Office365-Filtering-Correlation-Id: 34bd0abe-6c51-4c0f-14a7-08dc0b588f71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UYScb3Z2XabSyNj0WlgqmY68X6EsvnnA2oaZBTLv8okCpPM0HgC6UUsgfLm4rbh3oPFZcwX7eEXYg2dOi/I3kYYfqo/KyJduKOSw77C8evgWIvCFOJNzXx02mYEKHMo07+w7cZNupD+7bdJKZIPz1eLOwU/qz6fBoPgpje2DnR7KJatlB3y77mV1Nh5wSLNKqexOT7BhLujnRTVCsvbjWWmNh8hVnuX2kO+EDC4/bb1QgoyvgE0xGmxQYhqAaAJVVf0Ejj8nw6KKnERtxa/rCZfUlHlUQqq4laWL7iyaGzTfetgwVXwpTvt+cFJP/tLo37AP2g9Mix72TfvLdQhLTycSK6JuxfmFe1QMoiEot2dionOeGzkmgqcxhfhaKWddTyVnDKNfANy2RxQFsRKnTQcA+FvrGuNpmmBpRCkCXYZIyRTvUd7273VOzkDyv48a1MXDq77EB6idOVFg4nr7u7dDuhZ/YyfROLCCFmpjFKpGSfLoCxau9vk6GDCcrpvkd3pNsFwCVgwnegomOsEBtqDkNa9BgcpzMCj41VkefLtTeM/ZSaa9IOQmuafG9Dw6ex9cuLWTzX6XsVK/RH2fDGNU19nGgVx7q8oo/l8kHRA4cgo7dyP1HXsL54p7i1o6y0tnevQyXcbA2w8Ihealfyh6H+q4ZUbp9Gq1meldnfXIC/fZ7jx+HvTEpzK6DkDILQ8cE0JXU6OGfMYcdc9WlsOrKPFB4rq4lS0WDerYule4L89KzhBaZIws6iDP8259 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:(13230031)(4636009)(376002)(136003)(396003)(346002)(39860400002)(230922051799003)(82310400011)(451199024)(186009)(64100799003)(1800799012)(36840700001)(40470700004)(46966006)(5660300002)(2906002)(7416002)(4326008)(8676002)(8936002)(44832011)(36756003)(316002)(54906003)(86362001)(966005)(478600001)(40480700001)(40460700003)(41300700001)(7696005)(16526019)(426003)(26005)(2616005)(336012)(356005)(83380400001)(81166007)(47076005)(70206006)(70586007)(110136005)(82740400003)(36860700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2024 06:03:36.9941 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34bd0abe-6c51-4c0f-14a7-08dc0b588f71 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: CO1PEPF000044FD.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9425 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786957469357607796 X-GMAIL-MSGID: 1786957469357607796 The Revision Guide for AMD Family 19h Model 10-1Fh processors, found at the link below, declares Erratum 1452 which states that non-branch entries may erroneously be recorded in the Last Branch Record (LBR) stack with the valid and spec bits set. Such entries can be recognized by inspecting bit 61 of the corresponding LastBranchStackToIp register. This bit is currently reserved but if found to be set, the associated branch entry should be discarded. Link: https://bugzilla.kernel.org/attachment.cgi?id=305518 Signed-off-by: Sandipan Das --- arch/x86/events/amd/lbr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/events/amd/lbr.c b/arch/x86/events/amd/lbr.c index 110e34c59643..43bf2dbcdb82 100644 --- a/arch/x86/events/amd/lbr.c +++ b/arch/x86/events/amd/lbr.c @@ -173,9 +173,11 @@ void amd_pmu_lbr_read(void) /* * Check if a branch has been logged; if valid = 0, spec = 0 - * then no branch was recorded + * then no branch was recorded; if reserved = 1 then an + * erroneous branch was recorded (see erratum 1452) */ - if (!entry.to.split.valid && !entry.to.split.spec) + if ((!entry.to.split.valid && !entry.to.split.spec) || + entry.to.split.reserved) continue; perf_clear_branch_entry_bitfields(br + out); From patchwork Tue Jan 2 06:01:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandipan Das X-Patchwork-Id: 184250 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp4289079dyb; Mon, 1 Jan 2024 22:05:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IECoYRZRiTLjVOXSMKNAHWvn1K2Qn5W6Kr/9FPFZOrjONMkUYZl4K2fMew2FxHnKK2mKHzp X-Received: by 2002:ac8:5fce:0:b0:425:4043:5f1b with SMTP id k14-20020ac85fce000000b0042540435f1bmr27303154qta.89.1704175517900; Mon, 01 Jan 2024 22:05:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1704175517; cv=pass; d=google.com; s=arc-20160816; b=NoKriJLycWTWAtEvhSUJngTAnOoeekdKV6VQ8y/KZcTnk9YSNKaZGhyzKtR60+intP WfLwIjnb63OmTqcD94AcRtJb2YKbDtKckR/NCbobXpKEO18XAZZ0l469WIEIIl0AoB/K ByR3T62oIC9xIZncmDM3SnM1ymVV2mGAfk8gcOybgMM0O+JeBEbci7UHLSw7zp62Zsrq qkrFKpqmRftqe5aTPT0VoifEikxdRWiT2NixERh3iryPvNHoyhKacwVMaNfcM1mHJrrM xgPUU9jS9/mwCrfez7dv+4fiT7TesPqLFZOT3tktKJ9E/c76InJY+IDZRA1HMKCiw9d0 CLvA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=VPMy8QQOvVtzv+5yS5UcoCje3KI+shnpnly5qLELA8w=; fh=7DSJ6HsAGn8b2kv6IrmvHO9VmBwNoKDtNB+iEZ28n+Y=; b=tVfSODWUg3QIbheDuelaZT5HZXKXUBpGnYvkSIg0wB+8vb/ar0WdlcKLAFX6YMXcxr 88UOqHLc4Br2lQZfOnf8UDbTp+JGzc2mCUr3087NfkLu/vK+I54D6NRVIN+u1TZ9U+BP 4aLBb9tz+JHMyIfd4cPOThBeqtgzme7ZyLD/NGmq1rTMKl+g7uFnGWXTvmQWC8WRY8fZ NQ9KtQrs0WGjx25x+nYR50AXnTOP+ZonwYn/TbNEOtCXFtJqVOVJA7lcQWLvcFWt19x4 Dr3z23m+MTNfBzlVu76f+R2PFly8GKUKCjur6fOjVmXxAe+8nFndO/SAXItg/33AX3n7 Lecg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="J9A/j9Gz"; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel+bounces-14072-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14072-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id u12-20020a05622a17cc00b00427f4ef9831si12218318qtk.103.2024.01.01.22.05.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jan 2024 22:05:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-14072-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="J9A/j9Gz"; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel+bounces-14072-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14072-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id A2AF61C21395 for ; Tue, 2 Jan 2024 06:05:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1546E2108; Tue, 2 Jan 2024 06:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="J9A/j9Gz" X-Original-To: linux-kernel@vger.kernel.org Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2069.outbound.protection.outlook.com [40.107.220.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB9A615C5; Tue, 2 Jan 2024 06:04:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PcLmK6g4/TINLZrBaV73TzeOexHq0EyWUiXchE7hE4e1YOyaM6zor3XlkNwfuyjSsc5fWisLWHk4frqnQ0zWBdnisdEAMMMt97qzvS3xOXYuxI9WQ4qHMSN6jOK6fyoHHcwnFBGEa/2W9kum/tM1Cq6RG7/A0BBBg6kQGYfqP94DRmdVMH8CVyO1K5ygZ17ZSQkopJNV7NrehxPLKqO98eX/txlzFe1y9Nmn+GBrqywRQ1pm+ZKByzvUCvrO0qMqX3jT45JpLC7xyH2HhVnBeDXHHMxGbh4Tk8bmcGM9cJU+PNbopSw0a5ULjjQOCpjTDteWVOW1X8DliMUjWHpvNQ== 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=VPMy8QQOvVtzv+5yS5UcoCje3KI+shnpnly5qLELA8w=; b=DJAxZBmGHrdF8jG8sezkXAxwpL6H7Tq8S0iy/hVcVUqDD626VTGDxlBuAVcf+TPzM5lc9CNZG/8LUH4qjnKp7kHjvWkyELwEPGVhjCWnwet4mp/5+n20NyyMsb+ImOK2JBAGKb76llPuXEulVRKod7bn+j1U+i2QBZwQvPbHiGUksPoM0XBC7G/KAq/vSpzJFGvSDAg8AykFDigUeFxXAiXSGqEsEg29ilqhPtos1Pv07yWxOOfqmBXJo1k5VMYD/TL+MlWBzY09bvo6Ko93DInKoeKG0ZlavpUetelE023f+seSfmrx9KpbDVH/KxQdd24J+i4hj6U5sJDmA31hXw== 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 (0) 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=VPMy8QQOvVtzv+5yS5UcoCje3KI+shnpnly5qLELA8w=; b=J9A/j9GzD52ZQguzBvp/cHlliiV1CDOwH0/iFwnKYQl2AvUTx/qIzPESfqaiXBpaBJFiwqsGZVklBRBuk7ts2wznnzo7L3btTGpJ6KiXKN5dQnY5eOmHXKLbCW+Hd7Sfjz+w9UBANDxlfQlPq7c9scXbDjO6VgEaJEPXC7qtIzw= Received: from MW4PR03CA0181.namprd03.prod.outlook.com (2603:10b6:303:b8::6) by IA1PR12MB6260.namprd12.prod.outlook.com (2603:10b6:208:3e4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 06:04:55 +0000 Received: from CO1PEPF000044F9.namprd21.prod.outlook.com (2603:10b6:303:b8:cafe::fa) by MW4PR03CA0181.outlook.office365.com (2603:10b6:303:b8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25 via Frontend Transport; Tue, 2 Jan 2024 06:04:55 +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 CO1PEPF000044F9.mail.protection.outlook.com (10.167.241.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7181.1 via Frontend Transport; Tue, 2 Jan 2024 06:04:54 +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.2507.34; Tue, 2 Jan 2024 00:04:18 -0600 From: Sandipan Das To: , CC: , , , , , , , , , , , , , , , , Subject: [PATCH v2 3/3] perf/x86/amd/core: Avoid register reset when CPU is dead Date: Tue, 2 Jan 2024 11:31:30 +0530 Message-ID: <69e89600fe5ebb2d4e870d1bb7f1ac6d7954d259.1704103399.git.sandipan.das@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: CO1PEPF000044F9:EE_|IA1PR12MB6260:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f7f9fd0-e90a-433c-97cd-08dc0b58bde8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DUyk4QnJUKDC4BKNUPnwhcuVBLwAd5vFG5ncnDFjSPW6VBwFABNLYrucqECsGCazt55KTjkKH1wWT9cHnVr2iyKeKjuSruL40MTZ4eoStOve+YWPFaz6XBpuiGVUzVio+/oyJbfhHmknJMufncXBdVQSlOuWjEnfmATB+q4otnpZhbl5i5OQOlGM+/Xx8g0r5nniG7Rh7Ly958DY7RiE6eFHFYcmIBcH9lzYeoHjhr26Xacw8yTOy4iN7MIcvXAseF3uc7tXfOQcPF+YLf82tMb7xrxPB+KA6UBblpprg8f7T3mepJGobxuiZTV1JmmtmJ2a5bvKeOZyeIKTjzyO21MiVztyF5DxAJ1vOpKlTrgEG5JTYgwyfM3usMEvNYPpsdaBZ2PL5lmC7MbnEpife9qDcMe9GlvKdccyDshu9Ym3h2RL0WNIT5HelizMXW3jOBu2GQxFAvYLoBqwFvoOMoTyzkfCT0kUxbzK6ubyqWE0T5T6ENjjt4WnQsXFdMDsqWLSUfNKEpTS2B4ZMLetR6LY2yYK4cJp7cSFDXwn3xBQCmWW/HWfoV+HG92QcfVNevFKaS73550tfOk9K0OsmzfVNr5zZl2quEIg7oV+PgVvFUKhRoWfj5eTX3svXNeKPT47OcWKzRJxZPu5oAVG1zxMuPR0ERUERHMeo1bKxdG+mCCgX83AYKKJ6NA7725AtJwpQ1sfiUi42eWJzDIJhjaNbYkYRiT7IQVGl4iho3AjoQ1PZ07Amd8eO2LbdCPEOQjiJOFh0zCht4jna4CXtQ== 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:(13230031)(4636009)(39860400002)(396003)(376002)(136003)(346002)(230922051799003)(186009)(64100799003)(82310400011)(1800799012)(451199024)(40470700004)(46966006)(36840700001)(40480700001)(40460700003)(41300700001)(2906002)(7416002)(44832011)(5660300002)(8676002)(4326008)(316002)(110136005)(54906003)(70586007)(70206006)(8936002)(36756003)(82740400003)(81166007)(356005)(478600001)(966005)(7696005)(86362001)(6666004)(47076005)(36860700001)(336012)(426003)(26005)(2616005)(16526019)(83380400001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2024 06:04:54.9526 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8f7f9fd0-e90a-433c-97cd-08dc0b58bde8 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: CO1PEPF000044F9.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6260 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786957547798490963 X-GMAIL-MSGID: 1786957547798490963 When bringing a CPU online, some of the PMC and LBR related registers are reset. The same is done when a CPU is taken offline although that is unnecessary. This currently happens in the "cpu_dead" callback which is also incorrect as the callback runs on a control CPU instead of the one that is being taken offline. This also affects hibernation and suspend to RAM on some platforms as reported in the link below. Link: https://lore.kernel.org/all/20231026170330.4657-3-mario.limonciello@amd.com/ Reported-by: Mario Limonciello Fixes: 21d59e3e2c40 ("perf/x86/amd/core: Detect PerfMonV2 support") Signed-off-by: Sandipan Das --- arch/x86/events/amd/core.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/x86/events/amd/core.c b/arch/x86/events/amd/core.c index ffdfaee08b08..63514c311f44 100644 --- a/arch/x86/events/amd/core.c +++ b/arch/x86/events/amd/core.c @@ -604,7 +604,6 @@ static void amd_pmu_cpu_dead(int cpu) kfree(cpuhw->lbr_sel); cpuhw->lbr_sel = NULL; - amd_pmu_cpu_reset(cpu); if (!x86_pmu.amd_nb_constraints) return;