From patchwork Fri Dec 1 00:57:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172196 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792788vqy; Thu, 30 Nov 2023 16:57:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IGP8axZXnWsl/8La7dLXPYKnE17qLxY10ogoovAEQUlFs05Ldt+/sKxjw4o58au1YQKC4S0 X-Received: by 2002:aa7:930f:0:b0:6cb:87d0:fc9e with SMTP id cz15-20020aa7930f000000b006cb87d0fc9emr27521843pfb.21.1701392274677; Thu, 30 Nov 2023 16:57:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392274; cv=pass; d=google.com; s=arc-20160816; b=kJs9PpYErlT/C8RWixrFBFn/pG1Y4217T7iFiVBxmbOOpTcNcf6TRKZhqaGi1JYe7n ebhG1iczpLlZuI19LY5MHRb7HyV1TLBQ0Fn+43nDhuM2qzbIK6NNWDXOD4VRmE+J5m4b i4KDQJHh4+Sgdm8aTfVGnNlPSRgDdDDw42+xnYeP5HkdtHOglW+rzI1kU7K0JnqR9wTC /Ot9IvOh8iocMdsRA34ZyMYJPUYWhSwSj8PVxrdUOCBdKvWWy6NFCWJvjInm1oTrWEJo Y0WTsWNnZ8IVynr/ZY43aY3vZynXyfoTspkUBep37pjgaTYyuugfVbhfXSCoSJLzp2Qg R8NQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ij5nxfaLbQrlAUaygYQ3EJ4xiQdrxJbJ26ht4rfXkVg=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=Pv5QPsfZ0WPpXZixcV1S4Joh/qiJZ6t+YUtwqG4MInlXIaJZ/D1FFhMIbW49PTvb6G MJY3pH0ukspxW49Cex42jcBHZhnHwP1DH9XSFhGjm0h//iPkd3O76Dko/ZoNQhOzZFuD fhG1y8DqE1sh8fp5u5cNbdYDwbpMkQAt9U1IqHaMRFqoDbzRVjCrb+QXcnT8rmbXxaZ5 1ZyfO0UwrbHg85NTJuFudol+/Xkdo/wCexOE48PtZ7iDW/PuJXrBGmVMKc5nkXQpRyYG P/dNAivRlWza0lz4OOTKesHRy5/Jl/cW+JAyvnPGbA1QkWiB2tsIWUsRz4esE7Bq5LhI Pnkg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=rTDRLa0X; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id e6-20020a63ee06000000b005c627018c38si2361430pgi.307.2023.11.30.16.57.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:57:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=rTDRLa0X; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id C2B4E80EA7BA; Thu, 30 Nov 2023 16:57:43 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229726AbjLAA5a (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48832 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229521AbjLAA52 (ORCPT ); Thu, 30 Nov 2023 19:57:28 -0500 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97AAA10D0; Thu, 30 Nov 2023 16:57:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FC/PYRgDpUh1ATZmD1woiI0wtuOzqC+c5oM9BVUINeNkakOZgrbX+0C1llFBWaNfbshJAyg8edOgIl51+79VagNRa8ttGxJ57kKX+TrHiXHu45oXnYPc9kTy4r+UlO+2wU3+5ViKZVy9pTJh+ISH/ode79vjhhL0M7ub1z6CAx0AWdXoPiqUucUuAGpxkH2yo41nMawjE34c2cvYRVnNlaZMl6kj92OkXoZit9FbWtHbKGXFd0SiQuac9puqCU1Jib5NFVcy5GMZaAGJd2fZqcafHryn8yA0jQg0vgLnYIZGtF78WL7RYtZ2mkaNEtcncE0y5XDJISamvvru2Kb9sw== 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=ij5nxfaLbQrlAUaygYQ3EJ4xiQdrxJbJ26ht4rfXkVg=; b=l9C0hjBamyM/MfSzuaTIEYbMUkaf8FrWfQuMCuDb5qBpEedGBRIDdCuCP6BHw/F+umfBi51GDw8qmZY5sa6npyMURGGCobJYn5y1flqvPjc/P7imCgG0bJQvkQPuzDi8ujuGOAmsCQjBUR4ZKhF/Ahs9cWr183QWklZN8X1pPvY5mWYsGZ4Us08w8UzEU3MLSpaPBNqQaF0m2PERTjGljxcgz+/cbHYIeCWS+9wC3HOHzPVllFGOKRGLkWXcP9t8ovHQDvD6ZF04/UOmjffmbzg0VzY5kcNWU49hYs5JjMCqKAUh6U/v0VG9E9Jkor+PpeN6mfjPy9QPxhI+udJEtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=ij5nxfaLbQrlAUaygYQ3EJ4xiQdrxJbJ26ht4rfXkVg=; b=rTDRLa0XShq4mFW4TAJF7XA4eYBRB8WLOQ/JLOjsCuVnh36g61SBYnl/ZEt3p0brNzgGM433oYh+MQWbcCJef6zy/YFATKhSLesvWf1dOPMHbce18kl/qDbLjjWtoRSpX1g0wloZ+EYhsziJ/DfccOCG0Xz965pJWQKn/88y3xU= Received: from PH8PR02CA0018.namprd02.prod.outlook.com (2603:10b6:510:2d0::8) by CH2PR12MB4120.namprd12.prod.outlook.com (2603:10b6:610:7b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:31 +0000 Received: from SN1PEPF000252A0.namprd05.prod.outlook.com (2603:10b6:510:2d0:cafe::70) by PH8PR02CA0018.outlook.office365.com (2603:10b6:510:2d0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend Transport; Fri, 1 Dec 2023 00:57:31 +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 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:29 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:28 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 01/15] x86/resctrl: Remove hard-coded memory bandwidth limit Date: Thu, 30 Nov 2023 18:57:06 -0600 Message-ID: <20231201005720.235639-2-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|CH2PR12MB4120:EE_ X-MS-Office365-Filtering-Correlation-Id: c427b9f2-90ed-4fb5-fa54-08dbf2087e7d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Xq2gKkWdkxdTD4qJnM5gA1MK9qj2oqoqQuGyG75Z3U5vjRV8Egm25S+vpCd5R2LnOZRGpr+p4d5+EGI+8Y05IYtlYLMH7tAkjcQGMu90AccfMuHwLwVYm1E/5RnpTGxFAt9DvlqtneSgJ59FtxpiKoy6op/9b/kyGPK8wEFBANrX/Xk28Hk0XWiWcVx5dn5Q5EPJIF1m3YDjzBytvKVBB+bU2rc/btwrWLe5ksUPKPhd654LT3bDxrqYLV8+xFSuTa6BUgCXo4nxIlkJl7mbhp+TjmnDeDOU2B6XlKlhQrD/P2XvlmLCcmppu1ELQRp1Y9uT865VBdGATtp5TjMrHcUZQHCgNcaD3rdt1h7G5h+aa0eBJOEMqxYHdU295a5oeVcgmZWwWaXbNShFwSxQApVq0wUoYFJVVfKelbkwYGWNB3pdYgv9KPRGYWoqF7Dvgnru/G8Z72Zh6U2mYtcBOKantLZNIBmdJCJqvHH/X5xXdrwSnvqkx6UnTVw2Fge0nIiIgro4+A9BDyzFcgfbRZO2aL3rX0Bc3xCfH0/n5uU4qW0EPRy09l97h7oguA6LILJfFVvW6ZF2wxZ5gvSEoJVZd0xJzbfxN2kyF1s4lcraUFtUXM2t9OX3xfkpGMlDAQEGzBRa4kxhqxf+rE6LPq3TlcUahxfDaILF4Lyrj0EHGu+CY35up/34OT052LdjA3dsOLu9xM4CwzixYYGyAFes4Rskgbup4kh5UBe9tLn3fKYCetF7yqiBpVXe3tdi5SIIya6f1q4iF+jiWmqLdA== 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)(396003)(136003)(346002)(39860400002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(356005)(426003)(336012)(110136005)(81166007)(316002)(36756003)(70206006)(70586007)(4326008)(1076003)(8936002)(8676002)(40460700003)(16526019)(26005)(54906003)(2616005)(966005)(478600001)(7696005)(82740400003)(6666004)(7416002)(5660300002)(2906002)(47076005)(40480700001)(36860700001)(86362001)(44832011)(83380400001)(41300700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:29.8277 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c427b9f2-90ed-4fb5-fa54-08dbf2087e7d 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: SN1PEPF000252A0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4120 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:57:43 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039105960185124 X-GMAIL-MSGID: 1784039105960185124 The QOS Memory Bandwidth Enforcement Limit is reported by CPUID_Fn80000020_EAX_x01. Bits Description 31:0 BW_LEN: Size of the QOS Memory Bandwidth Enforcement Limit. Remove the hardcoded bandwidth limit value and detect using CPUID command. The CPUID details are documentation in the PPR listed below [1]. [1] Processor Programming Reference (PPR) Vol 1.1 for AMD Family 19h Model 11h B1 - 55901 Rev 0.25. Fixes: 4d05bf71f157 ("x86/resctrl: Introduce AMD QOS feature") Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- arch/x86/kernel/cpu/resctrl/core.c | 2 +- arch/x86/kernel/cpu/resctrl/internal.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c index 19e0681f0435..3fbae10b662d 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -243,7 +243,7 @@ static bool __rdt_get_mem_config_amd(struct rdt_resource *r) cpuid_count(0x80000020, subleaf, &eax.full, &ebx, &ecx, &edx.full); hw_res->num_closid = edx.split.cos_max + 1; - r->default_ctrl = MAX_MBA_BW_AMD; + r->default_ctrl = 1 << eax.full; /* AMD does not use delay */ r->membw.delay_linear = false; diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index a4f1aa15f0a2..d2979748fae4 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -18,7 +18,6 @@ #define MBM_OVERFLOW_INTERVAL 1000 #define MAX_MBA_BW 100u #define MBA_IS_LINEAR 0x4 -#define MAX_MBA_BW_AMD 0x800 #define MBM_CNTR_WIDTH_OFFSET_AMD 20 #define RMID_VAL_ERROR BIT_ULL(63) From patchwork Fri Dec 1 00:57:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172198 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792819vqy; Thu, 30 Nov 2023 16:57:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IGpgfo1344XFGESC0dtvDLWHeT6v9b6bJbb4bLqJ/QmovJc4pzEM2jqHo1ya8wbqLVuU90a X-Received: by 2002:a05:6358:e48b:b0:16b:f704:15a0 with SMTP id by11-20020a056358e48b00b0016bf70415a0mr23409381rwb.8.1701392278583; Thu, 30 Nov 2023 16:57:58 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392278; cv=pass; d=google.com; s=arc-20160816; b=dUtiYWiZbV6UsWlamog1sVTB+lOjo2i3ouYNFZLDKnLIJS8R71syz6CxIlAnDSsIGo mLA03BRpbAD7WtorIj3wqewFBdpN1327z0Jo5W0Kr8eGFmHi/ExSQo2qikMUzlDm0Gpb X4xvP690VQyTsjvm4G53UR6M5JCqpPcRIxlrUabNDNTJPwYpXafQigDiwWrJ6fw9AEo1 V9ZwYTM2cQc3juWKgWydc4NJkxeS1lPCh7c0Djwq0XCffXIQSoSgILWWG1ihqBQRJg++ I0BOWLlJv1bVsC//hTF6YJLygdfFk75NzyQYWRS0AbWl/3NPLDatiHfOks+366lAf4Oj gevg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DAUs2kEFEcbw6N5nkuzxlVSz3dGrY8GDAh4BH31LD+s=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=fcTRyM+hKZf98GKJjPa5ELN6+CknOrP3goOg3xM2ue1ehRVqLwXMg0mwKFReTtR3F0 FVqP3VhOV8g3DMS6QHCOUApKxAtww5KcHa/tsCmrdXCiOIGWuvZuMnwj1HtILmnfpKlN DcFGY8Br6xJLnW8hkYHwze+Z0UwtenPVKBswwR7YiWfJnaltPcsi2BdhhE8qz0r82/9l QjP/C1wzz9AsJwgHT+IwVk4kekqnmP4awfXqT08Epp1HLL0qpuMNnTFHCoX0N7r19fm1 quw9i/vx8pmJC7e1jrY81M5exyvyfqCSL7mFlLERkLHDtfCDe7+++iRCW9KLTx5Ktz1W WWoA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=UGZFGp+p; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id w3-20020a634903000000b005859aec9406si2337945pga.16.2023.11.30.16.57.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:57:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=UGZFGp+p; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 462F380DEA42; Thu, 30 Nov 2023 16:57:57 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230152AbjLAA5j (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229829AbjLAA5b (ORCPT ); Thu, 30 Nov 2023 19:57:31 -0500 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2054.outbound.protection.outlook.com [40.107.94.54]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 951D410E2; Thu, 30 Nov 2023 16:57:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lBhodxyy/3PqzwibUeo2C0QHUq4TLvE7/VbKNLIP3POMjtkXpYefUE/jnRQThVl6sQWYeF7beaheI30CtN/l9V7zbuGFDEJoFIrcoAQRXiAw/AvgNO+ZPzOFwAgnfY1FCcV20m/ISQ2uHRM//9eJtVm5R9TwpNJmv4hpRlPeAZ0HKw7MBXXGrZe8AH5F0zMjw1Io7HReiTB85gST6u+lQ3tuBthNXQ+xUfKDYWL3rFZOaJpVTN4cuPvHXF3u/QsUUgDS2JUKvU899OF+WOUQ6OEPzBrki5I5JeVHFCejvJdzVj7dS6dCiaV4AxnqW0S3CbSdxSI23xQBtINcaRwAZw== 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=DAUs2kEFEcbw6N5nkuzxlVSz3dGrY8GDAh4BH31LD+s=; b=EFTdW4BF37S4yeBt+4eF0WPl/MPOXeWzBaZsgNraKOfQfO8QUFl1j9CyNXfgCbcx/qUHsIWmojpZJ8l/4Geqep2VfH3uMCo6Q0i7jVxYHyNQHMOOFL0Q2CgMCHjcWMm48uTVxZvG0l+RdcuwdtmRe9+7OayweTzJfg0G5zMZCyCXx+wWEYQexBfEOrdm6xD70IDRgLFAkw/txhu64h8uuMBm/pBIRxfdtC11ghSjfAeNqjIIQW15D+8NEkPNGXeBm/uWR/YpRJJ4yThXOG8OqKQh8a40W7SW+nqLR9f5ptMeGBSddPtm/MsgfVxS4yxlkgtlbHLsZH7Lq+XPlKBBGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=DAUs2kEFEcbw6N5nkuzxlVSz3dGrY8GDAh4BH31LD+s=; b=UGZFGp+pkdRUtploTc1T6gbGH3kZKrt2JAPcmdvEcjf9w3uNxa12HxvtgfyEM2/3ZlVz9bUEn/w47AkYOJvEYQZDzGftDPC+ozH6mEsEAgrEh7zr4Wefa/JgogpLx4+iiNHNCiTd6hjBNSLIy6K/vuhlmW+/omuuiTTBJTRO2Lc= Received: from PH8PR02CA0010.namprd02.prod.outlook.com (2603:10b6:510:2d0::21) by DM6PR12MB4465.namprd12.prod.outlook.com (2603:10b6:5:28f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:32 +0000 Received: from SN1PEPF000252A0.namprd05.prod.outlook.com (2603:10b6:510:2d0:cafe::d9) by PH8PR02CA0010.outlook.office365.com (2603:10b6:510:2d0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend Transport; Fri, 1 Dec 2023 00:57:32 +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 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:32 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:29 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 02/15] x86/resctrl: Remove hard-coded memory bandwidth event configuration Date: Thu, 30 Nov 2023 18:57:07 -0600 Message-ID: <20231201005720.235639-3-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|DM6PR12MB4465:EE_ X-MS-Office365-Filtering-Correlation-Id: 380d9b1b-d262-4ccd-1009-08dbf2087ff9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FJKbQNJDWQMI42J2EZ9Q5EMqxO17sLtN+rSEdVI9CTB+h5YPMoVbY4Oooa8K9dQogqLLAQkDkMnaYFMbuxsJcE5pUW3JiGKhbOQ2VcZJvGOFHAmCHPb/xT8wEcj+QI1Rt+8IAcqRHcaaSd05zVZUBg9kMrJP6DNCMAVlGGIRnZYIHL7tU6wPK8XHVVPiPY5AnyFg2AlFy2iAyOO8IoiMX26LIT/14PwosLc8AXbsSHdVA9ch3AK0ICeSM7wLzEGR1HOc4+QKSMDydG8PrgOp5hIZxzQ6JS80M6lhIr4O4yMqpwm1JSY5msbBnaEbVJq1rFfT27m+b6hlskT2n38DjrOs+WJ99/7NyO7ybX/UbGOuAaEBZCg7xEVZI1CitREx4kKzQ0Mi5FS9pnzdH83wFp7BWG89ZYHliSC5orz/SJCkMYdaENSw1mN3GPs93WB6TJT+D5SgOk1M0jCFZDn5ARdN85SVtOLxh85PrWQeHtpE4QsdmMY4i7LJqqwgdXwvbYeyQN6hmzjnOl8IASXPC84Iol5x3O2SnxMV3no6RjWr/UOHEyI0z7d7xnx3f9Kj9nOaqKwiB+oofKDN740jvzko7Jqs5BMR9k8JK1K1EN0IJ6NiD4zTzYwh6zjXdy/VjiuphBZCAKVLRZvOdeVRRZ5NsiH4nuRqkMVFlEn1v9IifSWy/4uZWL8e8YMEr2QrZIk6QbILFiaCEmOlfg2PZvMGyW+i2k4YrliU4VlSBrCuy6jnSHk9p6/Jh2WDH2Px7u2E/f7ljIW0Pq+bPmn+Og== 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)(39860400002)(346002)(396003)(376002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(82310400011)(46966006)(36840700001)(40470700004)(8936002)(8676002)(4326008)(36756003)(54906003)(70586007)(70206006)(316002)(110136005)(2906002)(41300700001)(44832011)(86362001)(40460700003)(5660300002)(7416002)(426003)(81166007)(356005)(26005)(16526019)(40480700001)(82740400003)(336012)(47076005)(83380400001)(36860700001)(1076003)(478600001)(966005)(2616005)(6666004)(7696005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:32.3121 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 380d9b1b-d262-4ccd-1009-08dbf2087ff9 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: SN1PEPF000252A0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4465 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:57:57 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039110226718051 X-GMAIL-MSGID: 1784039110226718051 If the BMEC (Bandwidth Monitoring Event Configuration) feature is supported, the bandwidth events can be configured. Currently, the maximum supported event bitmask is hard-coded. This information can be detected by the CPUID_Fn80000020_ECX_x03. CPUID_Fn80000020_ECX_x03 [Platform QoS Monitoring Bandwidth Event Configuration] Read-only. Reset: 0000_007Fh. Bits Description 31:7 Reserved 6:0 Identifies the bandwidth sources that can be tracked. Remove the hardcoded value and detect using CPUID command. The CPUID details are documentation in the PPR listed below [1]. [1] Processor Programming Reference (PPR) Vol 1.1 for AMD Family 19h Model 11h B1 - 55901 Rev 0.25. Fixes: dc2a3e857981 ("x86/resctrl: Add interface to read mbm_total_bytes_config") Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- arch/x86/kernel/cpu/resctrl/internal.h | 4 +--- arch/x86/kernel/cpu/resctrl/monitor.c | 11 +++++++++++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index d2979748fae4..524d8bec1439 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -50,9 +50,6 @@ /* Dirty Victims to All Types of Memory */ #define DIRTY_VICTIMS_TO_ALL_MEM BIT(6) -/* Max event bits supported */ -#define MAX_EVT_CONFIG_BITS GENMASK(6, 0) - struct rdt_fs_context { struct kernfs_fs_context kfc; bool enable_cdpl2; @@ -117,6 +114,7 @@ extern bool rdt_alloc_capable; extern bool rdt_mon_capable; extern unsigned int rdt_mon_features; extern struct list_head resctrl_schema_all; +extern unsigned int resctrl_max_evt_bitmask; enum rdt_group_type { RDTCTRL_GROUP = 0, diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c index f136ac046851..c611b16ba259 100644 --- a/arch/x86/kernel/cpu/resctrl/monitor.c +++ b/arch/x86/kernel/cpu/resctrl/monitor.c @@ -127,6 +127,11 @@ static const struct mbm_correction_factor_table { static u32 mbm_cf_rmidthreshold __read_mostly = UINT_MAX; static u64 mbm_cf __read_mostly; +/* + * Identifies the list of QoS Bandwidth Sources to track + */ +unsigned int resctrl_max_evt_bitmask; + static inline u64 get_corrected_mbm_count(u32 rmid, unsigned long val) { /* Correct MBM value. */ @@ -813,6 +818,12 @@ int __init rdt_get_mon_l3_config(struct rdt_resource *r) return ret; if (rdt_cpu_has(X86_FEATURE_BMEC)) { + u32 eax, ebx, ecx, edx; + + /* Detect list of bandwidth sources that can be tracked */ + cpuid_count(0x80000020, 3, &eax, &ebx, &ecx, &edx); + resctrl_max_evt_bitmask = ecx; + if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) { mbm_total_event.configurable = true; mbm_config_rftype_init("mbm_total_bytes_config"); diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 69a1de92384a..6c22718dbaa2 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -1547,7 +1547,7 @@ static void mon_event_config_read(void *info) rdmsrl(MSR_IA32_EVT_CFG_BASE + index, msrval); /* Report only the valid event configuration bits */ - mon_info->mon_config = msrval & MAX_EVT_CONFIG_BITS; + mon_info->mon_config = msrval & resctrl_max_evt_bitmask; } static void mondata_config_read(struct rdt_domain *d, struct mon_config_info *mon_info) @@ -1621,7 +1621,7 @@ static int mbm_config_write_domain(struct rdt_resource *r, int ret = 0; /* mon_config cannot be more than the supported set of events */ - if (val > MAX_EVT_CONFIG_BITS) { + if (val > resctrl_max_evt_bitmask) { rdt_last_cmd_puts("Invalid event configuration\n"); return -EINVAL; } From patchwork Fri Dec 1 00:57:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172197 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792808vqy; Thu, 30 Nov 2023 16:57:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IGHbYV4GmAO7NiqRTFQ3Qu74pzdeog8ltN32e+2wtow+omUzA7W4N1eEr3IQlQk4VzMlAjn X-Received: by 2002:a05:6a20:3943:b0:18b:46b4:9333 with SMTP id r3-20020a056a20394300b0018b46b49333mr26510609pzg.41.1701392276855; Thu, 30 Nov 2023 16:57:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392276; cv=pass; d=google.com; s=arc-20160816; b=Jw2/DfOb3Z/KW1icp++ASbM2YLf2B8Y5G145b54QqRFNsgeJ1S+UbuKpInErHeb0L0 NkOrYRRJ5X8PeZSCl5qH0OAp54F8ZqhZhC9Ot5UvFT4qEnUzuGs5qa38M4OKTEl7r6vK OGhCAhMtkBYLy9R/D6XgmXd41yNAbLcndUWtMrPq/pLL4ypaV5edNwBAxiVUl9VZCykD mv3RzRWNoJ+NaPQHYam+ptmV8/psNTxGRqBOjXCiv0D/26WmetZDhUs3wB8+qJ09B0SY lPsECuawr6WDbNgcEMRRulNIsM+26H8xcqji2kLMzCBBX3D77k95XZr6rFwn/EEJlSa9 7Jzw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=la2DgueN8+QrJuE3/zzlx3+v8nRmRRBX/KEK2ifRm9I=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=QEAT9j0sEqqPuD6kcSEgk2BR1Cca3kJUESt2OJgaz2kJ1SpuPDtqccZnToGIdiXDty DcxafBDwSUvhZlDy3imMBmROr8BRKQ9cOUagI7enno/soUMCk6V8GygsbGZupbDXq4sb Rqj1yuxzWYCpiwniZ92HW7T3mOaPSp8ZWJP+gTAA5m/gTXLuLfN/DIYQxqs79k5y2tbB vLFvcVfHw46Zzd1DWEyHrPSgnQD3vmcuPN2tiiXS2+KTfFFFyonNNjdeYzGN+SQnrDpu FD8Hb7ZzSYvZt0v7uTYPoQGFMmvt4/MEM/A+g3fzCrEzxhBssh4zucC8JscQz9PyvOn1 Pyfw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=TRCNYe21; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id d22-20020a056a00199600b006be55174f3fsi2331010pfl.28.2023.11.30.16.57.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:57:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=TRCNYe21; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 6E90B82F917D; Thu, 30 Nov 2023 16:57:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230021AbjLAA5e (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229822AbjLAA5b (ORCPT ); Thu, 30 Nov 2023 19:57:31 -0500 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2047.outbound.protection.outlook.com [40.107.223.47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9092E10D9; Thu, 30 Nov 2023 16:57:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=frzarBFro7sIuVopHkbUdnnEclxrRPIvuY4mbsQVHbmF4WwzYyO2vSiJRxhbdwRVhNMsvM2t2AHwUe6m/rWkUOqn4wbyjMElJOZKC/cioekDfcieXmmVbCPmrsMz085GPDV/+q8go32/jdYnN16IKAWYP5f/aeACsndirBYmlJJW7188dtoeXdNgC3aMA6U/71iTh5aL9w1WkzGI+SWoHK6rvZajp/v5rM9r9/zZSL3zUW60cufxHDm1ju+IIKhJSKn/1H4eggJbLk9zubdbpwcMyRbRV0eyZz8x9n6rXxghQR4wT3Ey+4Tz9CtobcGEAXIU5LXhx0Wcl5F+ukqVHg== 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=la2DgueN8+QrJuE3/zzlx3+v8nRmRRBX/KEK2ifRm9I=; b=HG/0N19XYGvDMSkQNo70zHHWFh/Co2atSAq7NrXNCxmOgisEMQBMILDecznc0t7zLcrRlLnZwXwY+TTqfU+j71+TYK/Nb15w+ePZVbc0MtLY5hddHBOIPOHhizlYDe+yepAyEGCQZ8RIC2csbiEgwbROh6VxQql9bsFKZy/3ymOZvTp34TH/XhuP/enVOQd0tv/y9Do35ouITcUJOWVaZ96j4OEQ42OpDx4G1viAOB+EXiNrQ1ataLsMQEd04U9iz6ZMH4AXof8TOeonpyF2lxuDDzA0y5iGM+gXpiIoXds+JR3rTfJ5Vyivp8UsanjfZKDIrT873AHfOuVWEU9kFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=la2DgueN8+QrJuE3/zzlx3+v8nRmRRBX/KEK2ifRm9I=; b=TRCNYe21M4kC+6lWIusr6YjDmsEpsJG8ompKgx+XqDwTTm3BPmmTjv4WUup9Mpe/ZunucRTnA2FX57BuNGQS+po3PaJdI0EFB0KZDnFpzwvhp82Mh3HQAxe9tgdP3CWoanmPSUrpYCDoMMzmEDq8+5q/bzluEKlHmyXKIvBL9rs= Received: from PH8PR02CA0020.namprd02.prod.outlook.com (2603:10b6:510:2d0::9) by CYYPR12MB8870.namprd12.prod.outlook.com (2603:10b6:930:bb::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Fri, 1 Dec 2023 00:57:33 +0000 Received: from SN1PEPF000252A0.namprd05.prod.outlook.com (2603:10b6:510:2d0:cafe::89) by PH8PR02CA0020.outlook.office365.com (2603:10b6:510:2d0::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.26 via Frontend Transport; Fri, 1 Dec 2023 00:57:33 +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 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:33 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:31 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 03/15] x86/resctrl: Add support for Assignable Bandwidth Monitoring Counters (ABMC) Date: Thu, 30 Nov 2023 18:57:08 -0600 Message-ID: <20231201005720.235639-4-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|CYYPR12MB8870:EE_ X-MS-Office365-Filtering-Correlation-Id: e3fa0eae-ecba-4fda-8092-08dbf208806b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zL9MI0jfOV/Gp7ZALM/OErKbGvCteBJ6zJVyeKw/5RQ7D4wuYgpa+2zBb5alFjP78wcesTKSOKPQ9QQy/YAh0EWuS5L/YjuaJfH1mtI6fmhiaT+sUTtOo78BlVP5l6/Wja9N91RmkyCnde+prLo48QmaBYJV1jfPheXzqfUvgdItLLtTafAamWi7QDEYfavaTJcL16LhC0JgAJj50MvFyFkB0GAP3oNxIwR1lf+thm9hTQVr+x7t0dDElmlHmihOMd+ZWkaviBfhVQFLySf8sulA7d1Sj2rgD8UtqxzLiM3h0E5FCpYishUkwUjIolECzPm0FihdMRMP0BGZAV+Fw2G2ympEv1N0HJkrBBGSDnmryg9kbcrIBzrCAJHcBfneFmu8RiaB9eASlSd6JRyZI9rYQ6dWpjBOJGEBDLNUeA34sQZJter7qtG8+3ceZMq8u/cxLheogUDdBv/y8CN/oETji/2Y5R8v/+GzdDA2pBclZ30I3A80v2lWtYR4yGmOIKIGY9JevG9chZ6SP+hwaOufhszxbGmJbEk3eWAZ7rxTCdrrzmCx7zUk74sTjztGujkK9gA0/9AhysmpHH2d7kiIiZak4esvxHzeKBRuGkRHy2KJuwbbjLxs3w+stApgCXbCPWJfqcBVkPM626vxbz2lRJTbDIbxSdbPg1Gicnw3eaKNcPB6gwQKXquEDXb6/E8yB1jFyRy9nNXWFtJ5pc4q+Rr2ID/JCyLn2Vp+7XKxPXIBGfddNHDb9f33psKT7PPqbnQisu+yv7U5iyhzeA== 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)(346002)(136003)(376002)(396003)(230922051799003)(82310400011)(186009)(1800799012)(451199024)(64100799003)(46966006)(40470700004)(36840700001)(2906002)(7416002)(44832011)(110136005)(70206006)(4326008)(70586007)(54906003)(478600001)(8936002)(316002)(41300700001)(7696005)(6666004)(966005)(5660300002)(8676002)(47076005)(2616005)(26005)(426003)(336012)(83380400001)(1076003)(16526019)(40480700001)(36860700001)(86362001)(40460700003)(81166007)(356005)(36756003)(82740400003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:33.0621 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e3fa0eae-ecba-4fda-8092-08dbf208806b 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: SN1PEPF000252A0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8870 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:57:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039107716532817 X-GMAIL-MSGID: 1784039107716532817 AMD hardware can support 256 or more RMIDs. However, bandwidth monitoring feature only guarantees that RMIDs currently assigned to a processor will be tracked by hardware. The counters of any other RMIDs which are no longer being tracked will be reset to zero. The MBM event counters return "Unavailable" for the RMIDs that are not active. Users can create 256 or more monitor groups. But there can be only limited number of groups that can be give guaranteed monitoring numbers. With ever changing configurations there is no way to definitely know which of these groups will be active for certain point of time. Users do not have the option to monitor a group or set of groups for certain period of time without worrying about RMID being reset in between. The ABMC feature provides an option to the user to pin (or assign) the RMID to the hardware counter and monitor the bandwidth for a longer duration. The pinned RMID will be active until the user unpins (or unassigns) it. There is no need to worry about counters being reset during this period. Additionally, the user can specify a bitmask identifying the specific bandwidth types from the given source to track with the counter. Linux resctrl subsystem provides the interface to count maximum of two memory bandwidth events per group, from a combination of available total and local events. Keeping the current interface, users can assign a maximum of 2 ABMC counters per group. User will also have the option to assign only one counter to the group. If the system runs out of assignable counters, kernel will display an error. Users need to unassign an already assigned counter to make space for new assignments. AMD hardware provides total of 32 ABMC counters when supported. The feature can be detected via CPUID_Fn80000020_EBX_x00 bit 5. Bits Description 5 ABMC (Assignable Bandwidth Monitoring Counters) The feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth Monitoring (ABMC). Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/kernel/cpu/cpuid-deps.c | 2 ++ arch/x86/kernel/cpu/scattered.c | 1 + 3 files changed, 4 insertions(+) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 149cc5d5c2ae..c9ff7e0b216f 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -315,6 +315,7 @@ #define X86_FEATURE_ZEN2 (11*32+28) /* "" CPU based on Zen2 microarchitecture */ #define X86_FEATURE_ZEN3 (11*32+29) /* "" CPU based on Zen3 microarchitecture */ #define X86_FEATURE_ZEN4 (11*32+30) /* "" CPU based on Zen4 microarchitecture */ +#define X86_FEATURE_ABMC (11*32+31) /* "" Assignable Bandwidth Monitoring Counters */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */ diff --git a/arch/x86/kernel/cpu/cpuid-deps.c b/arch/x86/kernel/cpu/cpuid-deps.c index e462c1d3800a..e4e71e46dfd8 100644 --- a/arch/x86/kernel/cpu/cpuid-deps.c +++ b/arch/x86/kernel/cpu/cpuid-deps.c @@ -70,6 +70,8 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_CQM_MBM_LOCAL, X86_FEATURE_CQM_LLC }, { X86_FEATURE_BMEC, X86_FEATURE_CQM_MBM_TOTAL }, { X86_FEATURE_BMEC, X86_FEATURE_CQM_MBM_LOCAL }, + { X86_FEATURE_ABMC, X86_FEATURE_CQM_MBM_TOTAL }, + { X86_FEATURE_ABMC, X86_FEATURE_CQM_MBM_LOCAL }, { X86_FEATURE_AVX512_BF16, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_FP16, X86_FEATURE_AVX512BW }, { X86_FEATURE_ENQCMD, X86_FEATURE_XSAVES }, diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c index 0dad49a09b7a..698f2ccb9ac1 100644 --- a/arch/x86/kernel/cpu/scattered.c +++ b/arch/x86/kernel/cpu/scattered.c @@ -47,6 +47,7 @@ static const struct cpuid_bit cpuid_bits[] = { { X86_FEATURE_MBA, CPUID_EBX, 6, 0x80000008, 0 }, { X86_FEATURE_SMBA, CPUID_EBX, 2, 0x80000020, 0 }, { X86_FEATURE_BMEC, CPUID_EBX, 3, 0x80000020, 0 }, + { X86_FEATURE_ABMC, CPUID_EBX, 5, 0x80000020, 0 }, { X86_FEATURE_PERFMON_V2, CPUID_EAX, 0, 0x80000022, 0 }, { X86_FEATURE_AMD_LBR_V2, CPUID_EAX, 1, 0x80000022, 0 }, { 0, 0, 0, 0, 0 } From patchwork Fri Dec 1 00:57:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172202 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792951vqy; Thu, 30 Nov 2023 16:58:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IGcg4nWZ+eHJ7pT8Y7tNY/Vc/R7Q1yxQrSRVsWxfip8licw5OhmqPgeoQZO1BSrNt2epSEh X-Received: by 2002:a05:6a20:1581:b0:18c:c37:35fb with SMTP id h1-20020a056a20158100b0018c0c3735fbmr24250081pzj.40.1701392298345; Thu, 30 Nov 2023 16:58:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392298; cv=pass; d=google.com; s=arc-20160816; b=TEHPX7OW/IRMEZFAcB2u9sB2fU/4uJ7mkVBsZYBWHKNs0iObVQwo+SixPBNioj4kyB XO700N+q9YCAjVcVRWyXjKQh206xz6uIo2aM0Vmh373ojO8iC997uPQXRmERK/ZWoEpr UKG/pa+GQFvE2bWZSqT3eNNPsdRPCSBfq/3yHaeCxSRd6yrSmmgkYgom9PR1T1jt8S5a POGlVs8aVlZ1s3QjAzKUH3Pmr1rfPi35i/OLF0U2KfcuILQIjPYALAp4LpcMOPEO5ir7 0s3NXt/Ov1C3qrLsNbVLdYRHQu9aVvUofY/lovgD8ya9WODkSqhVRO7deAm6W7LHEdDm G+mg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=p7PWZBts8+pEi6bHM7JvodCQRgsYmpljW2LWUOpdAOs=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=EgkZZj1iudBrvwUowgsYpG8Dl67KRPW6RKJYFPx+bPHmZgulJRDH4CkLdzhRbayT1N +G1JZ/1wD9+TUhpmU4yDzFMuEkOw4LQuSjRhls3MaMLwNlZiP910E5yRukFtRuvjalgr jGJyQtwlcnFv+BryK9Ah+ckH0udMkNGkSofnoPtY/wdAr2vY7aBPdLx6mIVyds5hRg+q qAws2apMx4kdQxuq8P2G5DmdbEFGyYGozQcSxZKH3kfUiAxNk24n7j0wP4eE4QtWbtfT zBhbEcquMnshkeVsMzEAA50/eI+9/p4FHpi4xXnpt6CKvBa93X8WGuWghP8NuF7Vb27u hGqQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=i1bKG+ca; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id k79-20020a628452000000b006cbed8d05e9si2244743pfd.357.2023.11.30.16.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=i1bKG+ca; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id F20F4811ADCE; Thu, 30 Nov 2023 16:58:09 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232273AbjLAA5n (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229948AbjLAA5b (ORCPT ); Thu, 30 Nov 2023 19:57:31 -0500 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2055.outbound.protection.outlook.com [40.107.244.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 386C310C2; Thu, 30 Nov 2023 16:57:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iOS31RGVuAxhmMJC7nnbhmr11jAFT7ZyCYgOiGBgMtk3N0C2zdzPhOn43pWKalQOBI7/5hT7xCNTQ6ng4hT06gtUfwPgqbOLjd/OcQK7Wgws0/8oyJOPxMyxFbcXwpus9Tiz1DVifdMDTrNMkIrj8iTMoFdk0xMN+evXf7sr7lntzN5nKye730mqwpHHnE6zCkyuQV6c74s3QxdWxx4G41A15CXGOgpY3q4dJpKesVdpkapP5eMl9BcFQcoT20SH0K20G9hbQLB7s66z9NGfhCPkHlLn5mzD6og10oHI69U1t4c05CMywtx7edhOL80pWQWUqXWO2tgyRYVmC2bgsQ== 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=p7PWZBts8+pEi6bHM7JvodCQRgsYmpljW2LWUOpdAOs=; b=VpOAOU/UBh9u1uJB/CYgI4iEB7plq4kEHbFvAIz7FnYpUcXeHHv0C4wtp8Y559YiD2ktFCNzLHgnG7QJu1XmAa2jDyJxKHk4Opm5XAwKpEkoFr2oYSzWCXKkhvUZBxs7aqUJ2/jfCvBuuXQRu89Ou+rE3DgSuhqRItMeV5O40xi6hq1zpyHx3objUTcVFPpcoOqDd/i1IkHuYuZ8ZvX0VjIIw6KyRAJLZKFwKEzNi6oJjU2DWNyyDyLJcbYPKGhUISfzW9UL4Vjbxd9O5r8kk1c3LVb4IjJnbFAFXkhnFcldTEPcaryR4Lg0IYG/24cGGck2cUjwu5vHAwD027fV1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=p7PWZBts8+pEi6bHM7JvodCQRgsYmpljW2LWUOpdAOs=; b=i1bKG+camVcj4VDzJJdpgLutnDcpoTp1gn0nFrfXHga4mm57M1GCzI3lOIsFuj7YuXSGvdaZOVJ6y5mXKE/mjdHAo+LWo5jpPB4wFhwev0msdTtMvXGyt/heIi10ZAnhwdPhsOMF2ngyDsiPbOnFjPZCuQGgJqnWukPqsXPh0pc= Received: from PH8PR21CA0009.namprd21.prod.outlook.com (2603:10b6:510:2ce::26) by MN0PR12MB5739.namprd12.prod.outlook.com (2603:10b6:208:372::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Fri, 1 Dec 2023 00:57:35 +0000 Received: from SN1PEPF000252A4.namprd05.prod.outlook.com (2603:10b6:510:2ce:cafe::39) by PH8PR21CA0009.outlook.office365.com (2603:10b6:510:2ce::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13 via Frontend Transport; Fri, 1 Dec 2023 00:57:34 +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 SN1PEPF000252A4.mail.protection.outlook.com (10.167.242.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:34 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:32 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 04/15] x86/resctrl: Add ABMC feature in the command line options Date: Thu, 30 Nov 2023 18:57:09 -0600 Message-ID: <20231201005720.235639-5-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A4:EE_|MN0PR12MB5739:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a398c6c-2a5d-4729-87fa-08dbf2088149 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uIpflaj6Tz9TS7msFndupFZbllF4P3I+KSN/CqRXU5l/zb9MXsnL1e8yOmNR4Xs7FksX+DjWYGcSxouJdr081S/gYsQovERMEkH0L/E3JAxU8UAduAG9V7iedycZPmULV2N4kL1G+DnbZ3ooUg1y5ozLB6fSfbOQz2TrHd17f/16FM/JcykMi8Ry+icproTD7VYNzD+yUARMBKyMQ7BuSr3+QYq0v1O68nMLicX5vOKMPKaV9+aUu5/QyvEp4MIZ+4yTmWxsE/QVT64xWnKrd741SzFYoDGomjIFB7BkbrdgJ3c190IHr/oP/CIusZXZ6fXQl7TYDVCvLnVnQP6jWD4HGMEAYEgUpxfVt1cU/eSjaetiWvJ/MoKq4IQ8Ixxm+KPkQJpon38pFHk7KV/EMrknjAKT4qHdWPZf4N42/wsvR7PwBRPUVy0wbxzJzz/fRA7haFsJZVM3HrBHID3aKrmNcTOyxas0Z0lrYitlEbBuO76fIpDBDQMqwgKJVgk2G4tUkWxP3ZTm90wbL1Eu6KaLn6FzCoJMAYSwKLXgDKJQj2o5K5v2hL0e6DMY09I5MOC9mxFPZNtetB/3pkem6A5U6EHQPFFtoSPya1lxeQqxNkv6wtwUUXYZ6PS7mx80ur5qIh992dkDtX3MdV1ppQflBwhoyE65DI4H+mGVxEZqP5HnfjQofnck9roSTHskYeiWN9yc6Tp0hHxCAVTAxZBZCPAeBYQkW5F+GXhaDCQMY0VCqJyDc5Mvlj/UiZF5AL2a0wFG+wfH395PwDoPCg== 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)(376002)(136003)(346002)(396003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(316002)(86362001)(47076005)(83380400001)(356005)(81166007)(7416002)(40460700003)(16526019)(26005)(1076003)(2616005)(54906003)(70206006)(70586007)(4326008)(2906002)(5660300002)(110136005)(8936002)(8676002)(44832011)(478600001)(41300700001)(36756003)(7696005)(6666004)(82740400003)(426003)(336012)(40480700001)(36860700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:34.5172 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9a398c6c-2a5d-4729-87fa-08dbf2088149 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: SN1PEPF000252A4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5739 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:10 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039130301034974 X-GMAIL-MSGID: 1784039130301034974 Add the command line options to enable or disable the new resctrl feature ABMC (Assignable Bandwidth Monitoring Counters). Signed-off-by: Babu Moger --- Documentation/admin-guide/kernel-parameters.txt | 2 +- Documentation/arch/x86/resctrl.rst | 1 + arch/x86/kernel/cpu/resctrl/core.c | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 65731b060e3f..59a9e486fbbf 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -5475,7 +5475,7 @@ rdt= [HW,X86,RDT] Turn on/off individual RDT features. List is: cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp, - mba, smba, bmec. + mba, smba, bmec, abmc. E.g. to turn on cmt and turn off mba use: rdt=cmt,!mba diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index a6279df64a9d..d816ded93c22 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -26,6 +26,7 @@ MBM (Memory Bandwidth Monitoring) "cqm_mbm_total", "cqm_mbm_local" MBA (Memory Bandwidth Allocation) "mba" SMBA (Slow Memory Bandwidth Allocation) "" BMEC (Bandwidth Monitoring Event Configuration) "" +ABMC (Assignable Bandwidth Monitoring Counters) "" =============================================== ================================ Historically, new features were made visible by default in /proc/cpuinfo. This diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c index 3fbae10b662d..a257017b4de5 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -678,6 +678,7 @@ enum { RDT_FLAG_MBA, RDT_FLAG_SMBA, RDT_FLAG_BMEC, + RDT_FLAG_ABMC, }; #define RDT_OPT(idx, n, f) \ @@ -703,6 +704,7 @@ static struct rdt_options rdt_options[] __initdata = { RDT_OPT(RDT_FLAG_MBA, "mba", X86_FEATURE_MBA), RDT_OPT(RDT_FLAG_SMBA, "smba", X86_FEATURE_SMBA), RDT_OPT(RDT_FLAG_BMEC, "bmec", X86_FEATURE_BMEC), + RDT_OPT(RDT_FLAG_ABMC, "abmc", X86_FEATURE_ABMC), }; #define NUM_RDT_OPTIONS ARRAY_SIZE(rdt_options) From patchwork Fri Dec 1 00:57:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172210 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793251vqy; Thu, 30 Nov 2023 16:59:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IGP1THRWhuBAWueFC7//86ivkLrffn87pAfaJR1kvxfIOhudAl10ag2AoVoa1YovoxR4xE4 X-Received: by 2002:a05:6870:558f:b0:1fa:3678:6c4b with SMTP id qj15-20020a056870558f00b001fa36786c4bmr20927964oac.3.1701392345722; Thu, 30 Nov 2023 16:59:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392345; cv=pass; d=google.com; s=arc-20160816; b=0IoDdGdtUpQuYC8KmZXf45+e1wxSRKUQ+ax8AYIewQ0Tf2EzXpbC97VFzBIFsGYWS9 8SNCqyDS+9cCU79+UG2wFDNCFkpCF94Do21ALbJkhoA4QeoV9JgQiNYpZPdZ16Aed//a rWo59B4ClFn7y4J4xJJlpZYrDSQmlTPaKzhSdbdXm1Gf77K1NWpFPUfN1VK/zwtf3hZc lAw2T55j6+QwHXDSP2K/vJJfWiAqIV5mqy87ptscgqyBKeAEaFO39ZMj1eO9bv5YxqgM e/wHoWSmYd+LOJrPk6zR5it2Ek8r7jnbzDS74QiuWjrBT7gqXTwwvMMhYU3Ga8I0arxX ZqLw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VVaOPYVaY2yXgh58mtoxrIM22l31oXSUrsqSkJ/zedw=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=w9ma0beCaGutndzMoNmyEnYxnWkwTC3YiaV3rq7tXL03g6kkRnXx1uTHq30WwcTWJ6 649h67Ro2sZHfn2dyTtCClUCXkVmmGVR097/mT1JxQev6lWLqKcuzuiN7kaVnCCmFf4/ jmDFHa6wULqHG5PmXs9gZId8VX8u+FOVOdnzE0c3y9dKwu4jpz6B5t/YSwfiu0b24bNg CAtUNog05YvROFJUwLH9tjHenVDGp/k9s4XqNoQJXhmdZXMn284me93insm8W1w0u0+a YCraScIFaZvBm1Io2hV38elZRAKJgSvpMHstqio5ZdBC9KPeCdIrLE8Lc2iF6dS1Qs1U HAFQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=ESgkKhQM; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id l70-20020a639149000000b005c5fe04e4edsi2384074pge.78.2023.11.30.16.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:59:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=ESgkKhQM; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 6873380F6D25; Thu, 30 Nov 2023 16:58:55 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232148AbjLAA5w (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232267AbjLAA5m (ORCPT ); Thu, 30 Nov 2023 19:57:42 -0500 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2060.outbound.protection.outlook.com [40.107.243.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9F231712; Thu, 30 Nov 2023 16:57:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuMsAsrxU09TgFdwksBE4sAOvh9b7rK11imCB21owgAXo0QF4cRZs5/fitKPYALRLttUhSs2/6VGU3Btix/yix+scrwo4YNrnIcRbDwlTtNi4aEZqUOMeCeJevPNC9yDhhRiTyV5quMgprbuApAoEaEB2nSsMv1EYMdTTxS3a8wpLWCELtXULRxhLdfOvkjgrIl2RLBo19JxPi6onKBGE5+3EGh8tBib6Yihk3qelpUBFHvKR/lO6/7hBkWXoW2BV4BZefWbbMBXpprihJRClUvFlKuhAdEKWtgo6fjzBG7avBCDjINPti+6oXW0s3PvMjHhxeL2akIJZpDOQ/xZQg== 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=VVaOPYVaY2yXgh58mtoxrIM22l31oXSUrsqSkJ/zedw=; b=A0HQ67qXAySzZfa9vtTemyAOfZloJ+GxD9U4fzn4XqzmwGrFQ25F1YXkngWe1kYATjdfDO1vDTY7uyhT6SHypDrTkMwKGH1mCAF2Ouzo8QcPFdAkgGSpDnOtcjSJ8qSyZgc6QBaqM0c1LupGFCQvaY0nYrmQKLJSWpFFSX7UKT36xtNtft66u+UyzEZ8rfWX1Olg8SjFKFGETH1kelCwPb/5mPr0XvcU000ot9R6qpUwQTmQMpI3ZLJbqOzXNDjkpTlCDav41Zfx/EtZeVKGsjli3PRCM2wL8MUZIY/i+HpQCwTM6z2a6mJMKKFy/7tIOMfySjGwpINOddmBohfGeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=VVaOPYVaY2yXgh58mtoxrIM22l31oXSUrsqSkJ/zedw=; b=ESgkKhQMSBSfrUrJRqmyBCPSp6eRAcuFrAaTrH/3ao++HLe6XQA+mqx3+4qUC2m1hOu57ZuO+0LDsGZ69D45eo1kK8PBwLsPrZE1rdXN6+dN7tMP8tEH/58olH8nf71vnAlOYe1qj+2wp83O+cwON/niMpSCRC2UYGGf5/G/cRE= Received: from PH8PR21CA0021.namprd21.prod.outlook.com (2603:10b6:510:2ce::15) by SJ0PR12MB6878.namprd12.prod.outlook.com (2603:10b6:a03:483::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:36 +0000 Received: from SN1PEPF000252A4.namprd05.prod.outlook.com (2603:10b6:510:2ce:cafe::6e) by PH8PR21CA0021.outlook.office365.com (2603:10b6:510:2ce::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.14 via Frontend Transport; Fri, 1 Dec 2023 00:57:36 +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 SN1PEPF000252A4.mail.protection.outlook.com (10.167.242.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:36 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:34 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 05/15] x86/resctrl: Detect ABMC feature details Date: Thu, 30 Nov 2023 18:57:10 -0600 Message-ID: <20231201005720.235639-6-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A4:EE_|SJ0PR12MB6878:EE_ X-MS-Office365-Filtering-Correlation-Id: 70e43324-1f87-48d1-5582-08dbf208823a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gjjdN4VkFaGuDEweVxYu2KOsxdJLw7W/vmQ24teLEY1X4Fm57WOaAidQD+O2mpnbtKa2bWKo1AtVucRDFQjemQZ5ENSGS1DKMh2QBd+vGmfVEgx62H/eAdL0vaExk2oPD1DL0znD9TV3IuFC9gktMY/I5/ty+947LZnUSkV94OC7xIW5NxwZJtMe1du686Z/BzltgZW/0ZGpj+ErqX+iPXOgDASx1QCI9SE/vs2aILbYwFmwWZB/6aNDijQl3Nza81MRuRhr/HoFqD7YazBCxivsNve/jEiQTvjmEg4S8ADcKwgdSvoRp5g6mH/tbk2c+HWlKAO+MeRtANEmh0SkAoYTatnAbU/NVqWaEgC0BOBYaX240BCwXp8FlqzftDbRp1KkEqoIHE22JbIK2legEkftLSq1vX1mNIoXXrtAn57JibAgiMmngi03K1HTz4rIHt7wujATqF2rpv3IzpSEetDRdBQ+2jTVuFf1BNb4yAmJK53xsTz23n4gMBertHWh7CoHf01LVNjZWebscO1inm8jq+Tmzt8isBGmCBOpHeQTvhk7B7FiPnK5jYK3BzJq6NQag5HzSCW6VNOdEcBW2gnCAricXJ5txCodC5cpV98fb8VYBxZ6Xc94XLjavzCvt2l6BH3vuUPVg9/4Ufzpj2WpWWlOGi3+zD7OSA8z08P7ej988C88kNdR4Vy3hiug+qFbinarfwqPFjw0z4XO2L8NI1kCuqGuTYK7rgQUVD89bGFzTUKvBukDzOMfjZMipfbQVeOoqQ4PgQL9Ejnkeg== 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)(346002)(396003)(39860400002)(230922051799003)(82310400011)(451199024)(64100799003)(186009)(1800799012)(36840700001)(40470700004)(46966006)(356005)(81166007)(40460700003)(36860700001)(82740400003)(47076005)(316002)(41300700001)(83380400001)(2616005)(110136005)(54906003)(7696005)(70206006)(6666004)(966005)(478600001)(336012)(36756003)(426003)(1076003)(7416002)(5660300002)(2906002)(70586007)(8676002)(8936002)(26005)(16526019)(44832011)(86362001)(4326008)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:36.0953 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 70e43324-1f87-48d1-5582-08dbf208823a 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: SN1PEPF000252A4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6878 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:55 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039180656464054 X-GMAIL-MSGID: 1784039180656464054 ABMC feature details are reported via CPUID Fn8000_0020_EBX_x5. Bits Description 15:0 MAX_ABMC Maximum Supported Assignable Bandwidth Monitoring Counter ID + 1 Detect the feature details and update /sys/fs/resctrl/info/L3_MON/mon_features. The feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth Monitoring (ABMC). Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- Documentation/arch/x86/resctrl.rst | 7 +++++++ arch/x86/kernel/cpu/resctrl/core.c | 17 +++++++++++++++++ arch/x86/kernel/cpu/resctrl/internal.h | 2 ++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 3 +++ include/linux/resctrl.h | 2 ++ 5 files changed, 31 insertions(+) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index d816ded93c22..1293cb6cba98 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -197,6 +197,13 @@ with the following files: mbm_local_bytes mbm_local_bytes_config + If the system supports Assignable Bandwidth Monitoring + Counters (ABMC), the output will have additional text. + Example:: + + # cat /sys/fs/resctrl/info/L3_MON/mon_features + abmc_capable + "mbm_total_bytes_config", "mbm_local_bytes_config": Read/write files containing the configuration for the mbm_total_bytes and mbm_local_bytes events, respectively, when the Bandwidth diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c index a257017b4de5..278698a74c49 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -303,6 +303,17 @@ static void rdt_get_cdp_l2_config(void) rdt_get_cdp_config(RDT_RESOURCE_L2); } +static void rdt_get_abmc_cfg(struct rdt_resource *r) +{ + struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r); + u32 eax, ebx, ecx, edx; + + r->abmc_capable = true; + /* Query CPUID_Fn80000020_EBX_x05 for number of ABMC counters */ + cpuid_count(0x80000020, 5, &eax, &ebx, &ecx, &edx); + hw_res->abmc_counters = (ebx & 0xFFFF) + 1; +} + static void mba_wrmsr_amd(struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r) { @@ -815,6 +826,12 @@ static __init bool get_rdt_alloc_resources(void) if (get_slow_mem_config()) ret = true; + if (rdt_cpu_has(X86_FEATURE_ABMC)) { + r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl; + rdt_get_abmc_cfg(r); + ret = true; + } + return ret; } diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index 524d8bec1439..0b22be85a444 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -388,6 +388,7 @@ struct rdt_parse_data { * resctrl_arch_get_num_closid() to avoid confusion * with struct resctrl_schema's property of the same name, * which has been corrected for features like CDP. + * @abmc_countes: Maximum number of ABMC counters supported * @msr_base: Base MSR address for CBMs * @msr_update: Function pointer to update QOS MSRs * @mon_scale: cqm counter * mon_scale = occupancy in bytes @@ -401,6 +402,7 @@ struct rdt_parse_data { struct rdt_hw_resource { struct rdt_resource r_resctrl; u32 num_closid; + u32 abmc_counters; unsigned int msr_base; void (*msr_update) (struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r); diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 6c22718dbaa2..feeb57ee7888 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -1077,6 +1077,9 @@ static int rdt_mon_features_show(struct kernfs_open_file *of, seq_printf(seq, "%s_config\n", mevt->name); } + if (r->abmc_capable) + seq_printf(seq, "abmc_capable\n"); + return 0; } diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h index 66942d7fba7f..656af479a19b 100644 --- a/include/linux/resctrl.h +++ b/include/linux/resctrl.h @@ -162,6 +162,7 @@ struct resctrl_schema; * @evt_list: List of monitoring events * @fflags: flags to choose base and info files * @cdp_capable: Is the CDP feature available on this resource + * @abmc_capable: Does system capable of supporting ABMC feature? */ struct rdt_resource { int rid; @@ -182,6 +183,7 @@ struct rdt_resource { struct list_head evt_list; unsigned long fflags; bool cdp_capable; + bool abmc_capable; }; /** From patchwork Fri Dec 1 00:57:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172199 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792871vqy; Thu, 30 Nov 2023 16:58:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IElhkZ+Hawz2aIhBActuC0/NxhN8A8EKHxWGvaD+b02V1XFxtJ3llCA7MhAx7PAM9GPpEZP X-Received: by 2002:a17:902:720c:b0:1cf:d2c5:ae87 with SMTP id ba12-20020a170902720c00b001cfd2c5ae87mr13852276plb.11.1701392287349; Thu, 30 Nov 2023 16:58:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392287; cv=pass; d=google.com; s=arc-20160816; b=ugKK7WlnLb9166lmJGQtkdJHreieyuxYx7PMzHEY+aqhsqw6UFUVwakbFywQvIyE1w OWfOz5FSbPy4I9OzD4EfdpUm4AwAr3mvHduU49+4oBjN8xNYCGHZyns4uXdsGKgM2dOc 46Yq278nJNaJ7uZSLV4z/iDJz50yclzXMO41c5+iU12Um6Bv2zNqN4Nk7VLMXjpvEpHB MS5jXPWcqXRKAP+CDPFUpIPTIvsBmOo1tYRWbsKo3m2LMOBe92TyCdwgEYw9uuQKXtr/ dvJQk3hhqOQskj2jGk6n88ZiDFhR6EMEHTytLFsJCBUxLc27s1z6z/0+q2zEJdJce7Cx r/Aw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=jBON67A3z7Ros4SA9R0qKnCh9j2iIJtwPMkiW8zqhOg=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=gJ88tAIEnjZJiulnM8GtZ6Yizbsw6voX8pJ+qb2wc69zDu0d/++rg3mE+p8fRx+yAC lzkLzmdXhFdJ4TBTMeYpp7yooyz+PvunIS5E3PYZ5GheHowhLRnP7UJe1yOvdnENBKYH NGg5Xa3KaPalDuLsaueFgvw/gmeypjGddrEZs339kbBVjkSbEdQZ/9YD0P7bs67+LbqT XniYzAZ6b7Drsr8K4R9iH+J+Xfn9ublSAp291x2XTuLQQzJT5R/BUbHXomkI3ctHc6rE HYisuiibgtsZY2v3IRBVlmgm7VJZ7+lWMVOXmDP3MY3Zs18+6PeVbSSaUfY2OVunyunw Go7w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=4pWOPvbZ; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id u4-20020a17090341c400b001cffdad3b3bsi2264904ple.556.2023.11.30.16.58.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=4pWOPvbZ; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 2F52C80DECF7; Thu, 30 Nov 2023 16:58:06 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232286AbjLAA5p (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230014AbjLAA5e (ORCPT ); Thu, 30 Nov 2023 19:57:34 -0500 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2052.outbound.protection.outlook.com [40.107.94.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DDBFE10FF; Thu, 30 Nov 2023 16:57:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n8Fz4042oHoyibva7Dc1wcb9/YVyhsHSuNPtV/fIqjCQmW2tryOqkD6M66bBry0Qc7sQ+QOm6cE8lr7A7dUYEl/e8NX5KdBQIRso/oHyP64NT5fVfFqjS0JiJuD1VtmQ3FxtIOKPJf0adEES/DW6LVvK5xcImCX5c77HctS36IFDjlxiKf4374kD8UN8ZsTT40wM/P4S6INmkXwQGX8BKsi6ikFC+8YUVdubdXYnbQXfvnOe32rPzC7u4lMrokVVnTflYKz3XtygRlI9XV2UBSycwkeh7RIVEWfOACyh8ODM0vyjYBgzcGus1ke5dOij6N+HiWiIRPD8y2J52WhmAg== 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=jBON67A3z7Ros4SA9R0qKnCh9j2iIJtwPMkiW8zqhOg=; b=AmRRdpIQLVCb45UavrZ0B8834cWDiXaSZ2A8964MHfv39VN3NMtDBhxUOYGCFxbjfljFbf/n3blte5QBSB3Onpe12PMBx1agvYtfmbZqjYxSlAvN3RdAI1+YYDzWYSnTxIJk0/KPF/LpxDkaAVO390/U1+4aujYT0jwx0lTXp2DpafJUipprFC6XC5C2eb4uvAdfa1y+/yrTokUkXWdnodcjqTlAXdHvul+KwRjQd8azvy2+9eiVbF5TDEWD5YAyKBuO8CfMdC9KXw0PxebfyeLSV96XkX0aXDWKpAO6Toycr5HIfUOQeIUZa9Lq98C9292795Xx040c5RP0nOf2aw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=jBON67A3z7Ros4SA9R0qKnCh9j2iIJtwPMkiW8zqhOg=; b=4pWOPvbZcd3QxKb1kS5m/lZhhKqLW71QJHm4uGZEx7cB1zTWSYR7Zd1o+uZty8l9wiIBkXoiAd3i0yvq2tCD93ki+N3LH31BoALjHORbZwMjOSChZkxc70OVI3P9Bhn7fInkthi5nz6feuO3xjWopUGlKAcnZ8dDhToTfD42NG8= Received: from PH8PR05CA0006.namprd05.prod.outlook.com (2603:10b6:510:2cc::6) by SJ2PR12MB8064.namprd12.prod.outlook.com (2603:10b6:a03:4cc::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Fri, 1 Dec 2023 00:57:38 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:510:2cc:cafe::c2) by PH8PR05CA0006.outlook.office365.com (2603:10b6:510:2cc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13 via Frontend Transport; Fri, 1 Dec 2023 00:57: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 SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:37 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:35 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 06/15] x86/resctrl: Add the mount option for ABMC feature Date: Thu, 30 Nov 2023 18:57:11 -0600 Message-ID: <20231201005720.235639-7-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A3:EE_|SJ2PR12MB8064:EE_ X-MS-Office365-Filtering-Correlation-Id: f61f6692-5dbf-493a-756e-08dbf208832d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A7FHmutnU8fBj/XLs5xAn9uwUjsIykstMtHEsJw7K8exSpNJR02JzST6YzXvCNC/5mTinBsF1LGLv25VNhghfQ8QGn61L1amN8kk3vZQPnKleb8q3znBXygNLDOHYcXJn39IbeMtnmaK50gUK2l6HOi4cyFYHJpQ9xfyv734NclQ5O0h7pkWvvrCnl8+KSOmSSwiYb/PkNuNqy9T8QyKl/e0GOTXppylxTEPlrdC2LpYVxvgHCFUOcjdIl9D8u6JI+1FK4+wnwS8yi9w4ROSCmrJ3haqwZAbZ2TMvqySR/30N9DOrHqF2gjrt6sATr9wwfZOljXFTTp0UlHKp0fa+H9lCp+48pzkNZ5Rjra2GWzCSq6R29jqYcqWQ+pNWM/JWy1imRhuRZbxmO1/LGVWUXPpHgJxzs3RGikSAm+x0d6t7Gnlp5ejaCwovkwg/oF09VwomRBe0ReKDfq1CeW7MB9l6gi9kzcqEfC3IeIC5DxobkCqnk1pUOQ+hl+WjOS4doFFWQNatzviAXdTkU9b5MLX+nI+NgfbtL3t+5nlMFmV9e0cZl4Mx1zGk4iQJ74NJQY8d+/QC5IW6UdW8uiyK9y7N1OA05dsY3jVmrWsLHbXrHZmH/HhJz8Ll4FSSKvccZXx1fJ4Kf2wjdA0LBmIHiki1D9fMvFky7qVZRvVg73O/ae4MZq51/khfn3mwdJt15PXo5dAjeyAZMlLD2r5fiADenQmo6jVFMRA8XStTOzafBdtnNZIbUjhJxKkIrfvVxjpBZrOTWUxeUG04AuoVw== 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)(346002)(376002)(396003)(39860400002)(136003)(230922051799003)(451199024)(82310400011)(1800799012)(64100799003)(186009)(46966006)(40470700004)(36840700001)(36756003)(426003)(82740400003)(336012)(40480700001)(36860700001)(81166007)(47076005)(40460700003)(83380400001)(356005)(316002)(4326008)(2906002)(44832011)(86362001)(41300700001)(5660300002)(8676002)(8936002)(110136005)(7416002)(70586007)(7696005)(478600001)(6666004)(70206006)(26005)(16526019)(54906003)(2616005)(1076003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:37.6886 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f61f6692-5dbf-493a-756e-08dbf208832d 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: SN1PEPF000252A3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8064 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:06 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039119501925161 X-GMAIL-MSGID: 1784039119501925161 Add the mount option for ABMC (Assignable Bandwidth Monitoring Counters) feature. Signed-off-by: Babu Moger --- Documentation/arch/x86/resctrl.rst | 2 ++ arch/x86/kernel/cpu/resctrl/internal.h | 1 + arch/x86/kernel/cpu/resctrl/rdtgroup.c | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index 1293cb6cba98..19e906f629d4 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -50,6 +50,8 @@ mount options are: "debug": Make debug files accessible. Available debug files are annotated with "Available only with debug option". +"abmc": + Enable ABMC (Assignable Bandwidth Monitoring Counters) feature. L2 and L3 CDP are controlled separately. diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index 0b22be85a444..b8f3a0b1ca41 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -56,6 +56,7 @@ struct rdt_fs_context { bool enable_cdpl3; bool enable_mba_mbps; bool enable_debug; + bool enable_abmc; }; static inline struct rdt_fs_context *rdt_fc2context(struct fs_context *fc) diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index feeb57ee7888..a4328e12a8f6 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -2687,6 +2687,7 @@ enum rdt_param { Opt_cdpl2, Opt_mba_mbps, Opt_debug, + Opt_abmc, nr__rdt_params }; @@ -2695,6 +2696,7 @@ static const struct fs_parameter_spec rdt_fs_parameters[] = { fsparam_flag("cdpl2", Opt_cdpl2), fsparam_flag("mba_MBps", Opt_mba_mbps), fsparam_flag("debug", Opt_debug), + fsparam_flag("abmc", Opt_abmc), {} }; @@ -2723,6 +2725,9 @@ static int rdt_parse_param(struct fs_context *fc, struct fs_parameter *param) case Opt_debug: ctx->enable_debug = true; return 0; + case Opt_abmc: + ctx->enable_abmc = true; + return 0; } return -EINVAL; From patchwork Fri Dec 1 00:57:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172201 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792939vqy; Thu, 30 Nov 2023 16:58:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IEbSi7prz6rPBWQvglHC/Q6HtO40V46Qenn6z3wELYS2vjTs8Fj1hVghXKUDXTuQgqYZEHV X-Received: by 2002:a17:903:2286:b0:1cf:b964:5e36 with SMTP id b6-20020a170903228600b001cfb9645e36mr21467014plh.44.1701392296802; Thu, 30 Nov 2023 16:58:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392296; cv=pass; d=google.com; s=arc-20160816; b=aWjlbHkbgJgJH8O9WsnUNc+6F8ysXJOJwvbyA7M7cmLJZyG+xabXYtK3H4kzHqCEXa tRl0NemTIuZ8DgMueAt64h0dpbeECzfzElPK40qKQ3SD6QKFSHNXu//pS7l1NUeeL+AW Cxq2Ru0AgBPPrS36lArCOaF8pUR0TgZw+9BwK9W69TglI3z1GVOU4Tl+H81/qu4jDjqt RAu7g+jKOnejJm0tgbOim2Ti+qB1kiew1gSE0Kq9LsYdVcJSXdp3CLYDAhu7cNbRyqxV rOll0AqPKsreisFCQXs7gYHynlN52tOr/fEDXyZgWov8nRJT//TOmNjXElYlR/GMmeq2 5Jtw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=lgTL1J5pdOe1QBZ7AXIPSwxtnTWTGgPBIC6MKEUG1mc=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=AsFQivDffCAXpv1pffTS7cIQl1keGEqV/Dh25xQJq8+Is2rIJmK972tPpmhzuv9Rkf /6LgK28Ozuwl66VfzocfEKMd1y8fzScK3HsTSt30gQtUKl7Fs+rNxHz4k27GXggHwF/t f/bXMZwj3Ezu0Ml7C4W/dvnXSEbWbKRBNjg//XNQNMfwT5mGOgvd7hHg3pbY+LR8YPRk 1XJhvhot4q5d2b3ZSQsJerEBQvUccxJiakklFd1S/Ub9qYQoR8l6QCmDCwBn9V2/kaHH vCRL7Hjf7qdbfguJ3REEG0FjgZPuO3XHS5psZcnb8XO/Ynh18D6rochdqbnhbSe/RNAv 1ilw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=nzJfEyiv; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id p5-20020a170902e74500b001d044fd26ecsi1586687plf.48.2023.11.30.16.58.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=nzJfEyiv; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 700DD811ADC1; Thu, 30 Nov 2023 16:58:08 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232308AbjLAA57 (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232366AbjLAA5t (ORCPT ); Thu, 30 Nov 2023 19:57:49 -0500 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2065.outbound.protection.outlook.com [40.107.93.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59FD2172C; Thu, 30 Nov 2023 16:57:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CrEwHHitFhpocL4aFLo+IZ4ook/FNlt9XVxz7G0/QHbGzDSfzWRkb9yXQwTR+xcYi1ekziSkp24s6MOoWVFchNED60+IKNKx/joT+Ygpq00V4qIw3hZgeopcf0pPtzepK9nhtHxU0nO+mnAOVx3bKRwb59U0sMCdI0HPhhnnft7SQ4xKVzj3nlCUZo03M7pgxh4MVzyvAJBT+twQW6w6mytkCZHOEX6XDDM/O8DBXDRs5fXTJaTUU8kSvVSPXhyKc+7OctOjHck+OJljSjbE0XwAd9uohc6gXYc7+FORV4dwUXBRLZl/UkNrZ9RG983NW61GnM46UXi11gG2u1AQIw== 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=lgTL1J5pdOe1QBZ7AXIPSwxtnTWTGgPBIC6MKEUG1mc=; b=T6bCGXz1mBEchsR+mWP1CsCEhM5JDGenLXFkmQF84w9DBtqwJBaEuDvJ9YXkI8EI6puVCu37w9seykJKTusrUZiYsbx0aOsfBIZb9M/kZy09JnI3RTmtyBb+B7JT6EHE4vMfBrsHFhZLHBNq87D/XsEwc07phb+NLM+j508ns468Mwb+g2e7hVfbUrxh4MqmWL9RfqY8dTG+rj29HquaZjaCPWfXKdYJsHC7DOev+veODc/+ddlBS6jelSiF0kY4/k4ASFJS6XIZFUqtKbSI76KVWfMPRhLQiMXIicJd85QVjLkOb34BvgdYUhuT6uUw7/AIcPrwiA5Vu1pS+yOG9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=lgTL1J5pdOe1QBZ7AXIPSwxtnTWTGgPBIC6MKEUG1mc=; b=nzJfEyivgdKWVdAZ1DeipPqDC2YuQchxM8nYKFgIFpsq2GGcpe+6XtOVRP/xllbgBZoEQpJP0eJasVnx3aAvM13H7orwiXeWTu3ofbHaN9sMapK5pPT3WL+IjOlFSXQwiapRvaFzA3BV19JCbhUdt0Mmxx5h2o495VBV1QBOoaE= Received: from PH8PR02CA0023.namprd02.prod.outlook.com (2603:10b6:510:2d0::15) by SJ2PR12MB8980.namprd12.prod.outlook.com (2603:10b6:a03:542::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:39 +0000 Received: from SN1PEPF000252A0.namprd05.prod.outlook.com (2603:10b6:510:2d0:cafe::ce) by PH8PR02CA0023.outlook.office365.com (2603:10b6:510:2d0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend Transport; Fri, 1 Dec 2023 00:57:39 +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 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:39 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:37 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 07/15] x86/resctrl: Add support to enable/disable ABMC feature Date: Thu, 30 Nov 2023 18:57:12 -0600 Message-ID: <20231201005720.235639-8-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|SJ2PR12MB8980:EE_ X-MS-Office365-Filtering-Correlation-Id: 37a322eb-2310-4d2e-de17-08dbf2088416 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pp4Xob0+kJEJGWX0qpYxIQNJxJOawQp1vwjIpU/MBU655LgnLxsFPr569gPbd9azbX0uwC/LmKlyKP1wFvnAM25L+e/x6og9CahLgCLNvZ2RNtewINxX286iVsFiEtGexqKFM4w2k5zDStHUjEz2DuD5h96cya25+N17f6MXOjLuWWg/Q7KcQtEcj+KgUO8zsUR09NImj39xpLbsOulqdRzJihBjd3KxFPXuJoPJnAF+U9mH7QW7UABX1QQJrkddniNiqIDauEXW44LeHCP61fI4kSqBhUtR+L+kBQwYuvXuGPGopLaTJ9GcGp26CBYuClzOXzYQbkXagZK+5JG4P5IhN1e5HjY7rqKnxvFehBHN3HNLkst3f7SPZserzG+mEPOd1bG+YRyYiYrsZxGFtrg4hp0B9lQMFoOXc2qyDWFyhMBjm3J7Y9CGTkWcvGRrx2VkJ5qKx4z8LDqseBB5j1yZ/1vuNoCYQcIurXbtE/Or3f7++uNdRYjDwqj1xG/Qc4bfAYYnUMEIkcczayXOInBJZFyNCeT0rdu9SI1N6hQrhRH1KtcujPoy/e8XtuPZ4e2xZ2FbyhY8vDplGDXuFoWswMgh3Z8xXrJmTEXodNBIJ6n9k8kSLPWM7BcbZK9QQSjhiIoWtKEqQZty5n71Eybm7R6O+09CvS7G0ePkqhQOYozuQX+DXop96/2OopnTTk/vg5tAY0hVo7IbpxViOgmbzwBOT9n+Rc9P06fP4e6l/lUcV+Pwn7L1cDbVz36fLKHbt9A2vAjCic/p6RcCIQ== 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)(136003)(396003)(346002)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(40470700004)(36840700001)(86362001)(40460700003)(83380400001)(26005)(1076003)(6666004)(7696005)(2616005)(47076005)(426003)(36860700001)(478600001)(44832011)(7416002)(8936002)(5660300002)(8676002)(41300700001)(336012)(2906002)(110136005)(966005)(16526019)(4326008)(316002)(81166007)(70206006)(70586007)(54906003)(36756003)(356005)(82740400003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:39.2183 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 37a322eb-2310-4d2e-de17-08dbf2088416 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: SN1PEPF000252A0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8980 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:08 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039128961071050 X-GMAIL-MSGID: 1784039128961071050 Set up the system to enable or disable ABMC feature. By default, the ABMC is disabled. User needs to mount resctrl with -o abmc option to enabled the feature. ABMC is enabled by setting enabled bit(0) in MSR L3_QOS_EXT_CFG. When the state of ABMC is changed, it must be changed to the updated value on all logical processors in the QOS Domain. The ABMC feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth Monitoring (ABMC). Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- arch/x86/include/asm/msr-index.h | 1 + arch/x86/kernel/cpu/resctrl/internal.h | 10 ++++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 79 +++++++++++++++++++++++++- 3 files changed, 89 insertions(+), 1 deletion(-) diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index 737a52b89e64..a2086aad580c 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h @@ -1123,6 +1123,7 @@ #define MSR_IA32_MBA_BW_BASE 0xc0000200 #define MSR_IA32_SMBA_BW_BASE 0xc0000280 #define MSR_IA32_EVT_CFG_BASE 0xc0000400 +#define MSR_IA32_L3_QOS_EXT_CFG 0xc00003ff /* MSR_IA32_VMX_MISC bits */ #define MSR_IA32_VMX_MISC_INTEL_PT (1ULL << 14) diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index b8f3a0b1ca41..2801bc0dc132 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -50,6 +50,9 @@ /* Dirty Victims to All Types of Memory */ #define DIRTY_VICTIMS_TO_ALL_MEM BIT(6) +/* ABMC ENABLE */ +#define ABMC_ENABLE BIT(0) + struct rdt_fs_context { struct kernfs_fs_context kfc; bool enable_cdpl2; @@ -395,6 +398,7 @@ struct rdt_parse_data { * @mon_scale: cqm counter * mon_scale = occupancy in bytes * @mbm_width: Monitor width, to detect and correct for overflow. * @cdp_enabled: CDP state of this resource + * @abmc_enabled: ABMC feature is enabled * * Members of this structure are either private to the architecture * e.g. mbm_width, or accessed via helpers that provide abstraction. e.g. @@ -410,6 +414,7 @@ struct rdt_hw_resource { unsigned int mon_scale; unsigned int mbm_width; bool cdp_enabled; + bool abmc_enabled; }; static inline struct rdt_hw_resource *resctrl_to_arch_res(struct rdt_resource *r) @@ -455,6 +460,11 @@ static inline bool resctrl_arch_get_cdp_enabled(enum resctrl_res_level l) int resctrl_arch_set_cdp_enabled(enum resctrl_res_level l, bool enable); +static inline bool resctrl_arch_get_abmc_enabled(enum resctrl_res_level l) +{ + return rdt_resources_all[l].abmc_enabled; +} + /* * To return the common struct rdt_resource, which is contained in struct * rdt_hw_resource, walk the resctrl member of struct rdt_hw_resource. diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index a4328e12a8f6..7f6ed903ba17 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -2365,6 +2365,72 @@ int resctrl_arch_set_cdp_enabled(enum resctrl_res_level l, bool enable) return 0; } +static void resctrl_abmc_msrwrite(void *arg) +{ + bool *enable = arg; + u64 msrval; + + rdmsrl(MSR_IA32_L3_QOS_EXT_CFG, msrval); + + if (*enable) + msrval |= ABMC_ENABLE; + else + msrval &= ~ABMC_ENABLE; + + wrmsrl(MSR_IA32_L3_QOS_EXT_CFG, msrval); +} + +static int resctrl_abmc_setup(enum resctrl_res_level l, bool enable) +{ + struct rdt_resource *r = &rdt_resources_all[l].r_resctrl; + struct rdt_domain *d; + + /* Update QOS_CFG MSR on all the CPUs in cpu_mask */ + list_for_each_entry(d, &r->domains, list) + on_each_cpu_mask(&d->cpu_mask, resctrl_abmc_msrwrite, &enable, 1); + + return 0; +} + +static int resctrl_abmc_enable(enum resctrl_res_level l) +{ + struct rdt_hw_resource *hw_res = &rdt_resources_all[l]; + int ret = 0; + + if (!hw_res->abmc_enabled) { + ret = resctrl_abmc_setup(l, true); + if (!ret) + hw_res->abmc_enabled = true; + } + + return ret; +} + +static void resctrl_abmc_disable(enum resctrl_res_level l) +{ + struct rdt_hw_resource *hw_res = &rdt_resources_all[l]; + + if (hw_res->abmc_enabled) { + resctrl_abmc_setup(l, false); + hw_res->abmc_enabled = false; + } +} + +int resctrl_arch_set_abmc_enabled(enum resctrl_res_level l, bool enable) +{ + struct rdt_hw_resource *hw_res = &rdt_resources_all[l]; + + if (!hw_res->r_resctrl.abmc_capable) + return -EINVAL; + + if (enable) + return resctrl_abmc_enable(l); + + resctrl_abmc_disable(l); + + return 0; +} + /* * We don't allow rdtgroup directories to be created anywhere * except the root directory. Thus when looking for the rdtgroup @@ -2449,7 +2515,7 @@ static void rdt_disable_ctx(void) resctrl_arch_set_cdp_enabled(RDT_RESOURCE_L3, false); resctrl_arch_set_cdp_enabled(RDT_RESOURCE_L2, false); set_mba_sc(false); - + resctrl_arch_set_abmc_enabled(RDT_RESOURCE_L3, false); resctrl_debug = false; } @@ -2475,11 +2541,19 @@ static int rdt_enable_ctx(struct rdt_fs_context *ctx) goto out_cdpl3; } + if (ctx->enable_abmc) { + ret = resctrl_arch_set_abmc_enabled(RDT_RESOURCE_L3, true); + if (ret) + goto out_mba_mbps; + } + if (ctx->enable_debug) resctrl_debug = true; return 0; +out_mba_mbps: + set_mba_sc(false); out_cdpl3: resctrl_arch_set_cdp_enabled(RDT_RESOURCE_L3, false); out_cdpl2: @@ -3802,6 +3876,9 @@ static int rdtgroup_show_options(struct seq_file *seq, struct kernfs_root *kf) if (resctrl_debug) seq_puts(seq, ",debug"); + if (resctrl_arch_get_abmc_enabled(RDT_RESOURCE_L3)) + seq_puts(seq, ",abmc"); + return 0; } From patchwork Fri Dec 1 00:57:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172200 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp792909vqy; Thu, 30 Nov 2023 16:58:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IHi/vXgWQGxd2lyGQByXtpxjj3KhZ7yr7QOJBoE2c027sxihFt39SpLooMQ/Trix3DHi+20 X-Received: by 2002:a05:6e02:1d0c:b0:35c:e8ee:f7d7 with SMTP id i12-20020a056e021d0c00b0035ce8eef7d7mr16029715ila.8.1701392292744; Thu, 30 Nov 2023 16:58:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392292; cv=pass; d=google.com; s=arc-20160816; b=xbUudKxQ+HhYWT9uE0yF8xWYjcoIiUzvDe8IjZri8yWO+eaBPtNu0dE0U034mUl+JY muD911gTcOjgSNF62y0sWkiNtyjeHWYYTOxDxsS5moqkvTs9xy1wAVmXBGLnGGSUvb9y 2+5a1+28y1tv9SdWcM5Lo69HzlvUtAmSu7ZAgWqm29HH0XutKR1T3x28aYOt0YCKyMVH iKThaxgiP3YAV2qyhtZY/ap0oTnREY5F5q8VGbG6SFw0kZs2Qb+Pke2xuFOsH5KOEOFt j5FBgvuw9Fbybg019wOd9T4jJfeI2sO6ogKSyybjJ0cWA9Lo2/bq2gRAq+C9lKQ4AbX9 EfJQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=L5Xouoc8uEK48VBdV0+80NWs/fZzahXcjnvbnUl7kJ0=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=qD9geCGXj/QvSoYVpVFjEQE7VSkbmtM9IBIAX/jLRE7hWVoFQc1R9D5cCu0vlgmOkC 3AKU0XLyww/h51wu+/YghZwumgQzWQNfm0qZhOvKd58oIgqKfKmyzessnXwUWhYuZ9NC Qza3udl32DW/WlMmwPCTHPE2wXw/68vW1nQHJosQN23wXRvPTinlin9cZZJFIQnSDyrc ktxbQFz0rVXXlJi5lA9vP/Ijnw5Rp+14ZT1RqDv3R1+n962sI7bchoPhK+7mUf2hEcvu 1QzAco7v958XebjoKMViZL4T1scmV/h+3SpqhDAZP+sUMf5msLgupkKRacylQUApaYoS kOoA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=EzaspybE; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id s14-20020a65690e000000b005c605dcaeb3si2289855pgq.745.2023.11.30.16.58.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=EzaspybE; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id BA6748026D94; Thu, 30 Nov 2023 16:58:08 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230310AbjLAA54 (ORCPT + 99 others); Thu, 30 Nov 2023 19:57:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376428AbjLAA5s (ORCPT ); Thu, 30 Nov 2023 19:57:48 -0500 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2085.outbound.protection.outlook.com [40.107.212.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB154171A; Thu, 30 Nov 2023 16:57:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OaRQAt0pWMF4ZA9AJDw/KD+oJMIm6l24+sfEmqyGg1uCPQaQVqoVVxV17e92tVTl+eA8P2fRp5UEhyjXiHOAZumk5M9xLZFVtRkOmtA4TIlbegyawMVXjmi75K4geHIYjWd7xUOt9QInNzup42xXyWvIIww3Prc17oGBvtoA4kwqXwPLpl3VUU/L2+I4sg2vTuZZG/wdokAgmzOxjkFcxXh3Qbgzv5PQ9puSQhyYfH0HSJeTQ5oyLaOv2kUp6kwJtuhdXY8j/fUOwst/Djtqis1G7pFC3ipu2lmSQWk2eOUE/ixHJWgO/4w388DcOENcm2g+TS6eQB23ZN7hf1RObQ== 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=L5Xouoc8uEK48VBdV0+80NWs/fZzahXcjnvbnUl7kJ0=; b=Eqfo68UYUE+TMmFOVGiZF79osuBcAzEHH3jaWXosngXy+J3G7JpGrQPVPdEsMh+Y7lwa50phmhqoM/ImrThOgcWqeSzJVvv8seJEop+xgk1X1lB+hXUng9mZoVPGMcmOOqXXxnFsuTbXQ3SlDWX7NjI5MnPPh0PpXE+e5oWDkQW1YBks6U50VhwADk+ktwNP2rRCGd5Xwkjo7k8NWjm3xgIKlkwF5sQESWFBufP0BCfgp5K3f+rpJFlrzBW8+kCbez9+ovNxrdLF151+RoTblAu35RocuwfhJQ/8Jq7iC2TSjT37jRYoRqAI/5nG7ZvX5YSRpHCtp0vZBDV5taDJ2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=L5Xouoc8uEK48VBdV0+80NWs/fZzahXcjnvbnUl7kJ0=; b=EzaspybEEJAHgyw7lrIZg5fw6R0/PwaP8VtetWBlz9iQ3irn3Vvkcfhy42sGc4zo5CA3TfLMwiPfVQs/bDZKk+RUfXEBwE9FS2Ttc2DIpxka56UeUzZaViL4qEz3Zb72I8B8xGDg6wfDjT42Dr8l6inUZ9s82axI9c8NSfNcgus= Received: from PH0PR07CA0081.namprd07.prod.outlook.com (2603:10b6:510:f::26) by PH7PR12MB6906.namprd12.prod.outlook.com (2603:10b6:510:1b8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:41 +0000 Received: from SN1PEPF0002529F.namprd05.prod.outlook.com (2603:10b6:510:f:cafe::f0) by PH0PR07CA0081.outlook.office365.com (2603:10b6:510:f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23 via Frontend Transport; Fri, 1 Dec 2023 00:57:40 +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 SN1PEPF0002529F.mail.protection.outlook.com (10.167.242.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:40 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:38 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 08/15] x86/resctrl: Introduce interface to display number of ABMC counters Date: Thu, 30 Nov 2023 18:57:13 -0600 Message-ID: <20231201005720.235639-9-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002529F:EE_|PH7PR12MB6906:EE_ X-MS-Office365-Filtering-Correlation-Id: 9e9749e6-cce5-40b4-b6af-08dbf20884fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C2PTt5z+7+w8UDUljld7ja/LyNHU5aA5Z2dhOeFktwZQyrVf5oK9Ojp0ZFXnJLHjhkLb6qlJH6dIIeBgIUJPwiPgPiMEaR1vPWvKV70tFrfIszoz8TyilKykm+W8UKa9jqy+of4ftO3WsunkS2VPsDV0XVZ2ixFswa9U7BYsdD8bBt6GYuYZbPXk6Q7pRSQQECBM3RgwIwG4mWmlh7WrIrGPV0pZHWUBgpkfJkD0Iv7zuhiMk3Dm6jtm/tbn3F06kQMFSd8GRoYBXeV4g+wlIUSDnvRnPomSNacyGK6wv+Hlm8ZBpBKiRL0w1RJ+wv6PC+nzno48MS7fZrkM3rt9PCVcGSdvdQ8Cx4HtzFsdBrmMwnYyeSSiCJ68F/63xcMUhn9qEB2jjnNqrTTsGlfna4FfwXU0IVe3Y3nT9qDb18EwGNgRCJmClQoe65xzGHQX6d1rrW4fceMCcGitKlqV8rFtQokGEwEDMJIlw+J8SOyz9MbXPjR0flcdOGh/sSvbqImYDFhV9Go/FBcmT+Ra4EZM/olAVVjwFbgGfxeqwfgzsRUrMw6hKn1znqkHo1blQj9fiuh74UaD70KyotfPinsia8VroFMpZqMXUy1jn8jdjt9cBejZRM7W4rF8Lcmv/eLJB19HtD6gR/gPqyZdXlKzy0ZDJ4qqqe7k6oeGKuipswEG145TqVAfvMeM8DOEYshB3A/B5BorjcLEq1HI7o4CwzsGliodVi9xMDq5u/yihY3JN6qI4WEL8jUWUzeGPfkL0gVvgr1bL6AtvYUbaw== 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)(39860400002)(346002)(376002)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(40470700004)(36840700001)(40460700003)(26005)(336012)(1076003)(6666004)(7696005)(2616005)(47076005)(36860700001)(83380400001)(426003)(16526019)(7416002)(5660300002)(44832011)(8936002)(4326008)(41300700001)(110136005)(2906002)(8676002)(478600001)(316002)(70206006)(70586007)(81166007)(86362001)(54906003)(36756003)(356005)(82740400003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:40.7468 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9e9749e6-cce5-40b4-b6af-08dbf20884fd 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: SN1PEPF0002529F.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6906 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:08 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039124573091647 X-GMAIL-MSGID: 1784039124573091647 The ABMC feature provides an option to the user to pin (or assign) the RMID to the hardware counter and monitor the bandwidth for a longer duration. There are only a limited number of hardware counters. Provide the interface to display the number of ABMC counters supported. Signed-off-by: Babu Moger --- Documentation/arch/x86/resctrl.rst | 4 ++++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 29 +++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index 19e906f629d4..87aa8eec71b7 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -266,6 +266,10 @@ with the following files: # cat /sys/fs/resctrl/info/L3_MON/mbm_local_bytes_config 0=0x30;1=0x30;3=0x15;4=0x15 +"abmc_counters": + Available when ABMC feature is enabled. The number of ABMC counters + available for assignment. + "max_threshold_occupancy": Read/write file provides the largest value (in bytes) at which a previously used LLC_occupancy diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 7f6ed903ba17..897707694cc8 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -811,6 +811,17 @@ static int rdtgroup_rmid_show(struct kernfs_open_file *of, return ret; } +static int rdtgroup_abmc_counters_show(struct kernfs_open_file *of, + struct seq_file *s, void *v) +{ + struct rdt_resource *r = of->kn->parent->priv; + struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r); + + seq_printf(s, "%d\n", hw_res->abmc_counters); + + return 0; +} + #ifdef CONFIG_PROC_CPU_RESCTRL /* @@ -1861,6 +1872,12 @@ static struct rftype res_common_files[] = { .seq_show = mbm_local_bytes_config_show, .write = mbm_local_bytes_config_write, }, + { + .name = "abmc_counters", + .mode = 0444, + .kf_ops = &rdtgroup_kf_single_ops, + .seq_show = rdtgroup_abmc_counters_show, + }, { .name = "cpus", .mode = 0644, @@ -2419,12 +2436,22 @@ static void resctrl_abmc_disable(enum resctrl_res_level l) int resctrl_arch_set_abmc_enabled(enum resctrl_res_level l, bool enable) { struct rdt_hw_resource *hw_res = &rdt_resources_all[l]; + struct rftype *rft; if (!hw_res->r_resctrl.abmc_capable) return -EINVAL; - if (enable) + if (enable) { + rft = rdtgroup_get_rftype_by_name("abmc_counters"); + if (rft) + rft->fflags = RFTYPE_MON_INFO; + return resctrl_abmc_enable(l); + } + + rft = rdtgroup_get_rftype_by_name("abmc_counters"); + if (rft) + rft->fflags &= ~RFTYPE_MON_INFO; resctrl_abmc_disable(l); From patchwork Fri Dec 1 00:57:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172204 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793067vqy; Thu, 30 Nov 2023 16:58:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IG7S72qsydS77hkYl+j+MgXQtMsw0RZNImjngt8dksaxksYjMhTn2E2L7DK5BCrqF8T5kaL X-Received: by 2002:a05:6a20:9150:b0:18b:9682:59e9 with SMTP id x16-20020a056a20915000b0018b968259e9mr24292668pzc.21.1701392315627; Thu, 30 Nov 2023 16:58:35 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392315; cv=pass; d=google.com; s=arc-20160816; b=zApOes5RRo7/MvRwnQZKtq1yJooSLWJUU6rRWtyiQYzjj2IAjkXHNVabmOFfpgvJvW xlNQBU7tb+s0AtD3xt6hwsWwDIoiHFtLn+QzzR6XBirx6X3JlDd30ZYVLbKWBD+tTL3z ka4MOSzIqyHVOGJcL9L+H+FhSJRgt2zftP7CcaUFAwndc6FUtKtvY3GolxaaaDeWS/5e DoHUx7YEhLa2WLPmHHA1m/Gl+ypOcwzbuLb4cD/7fLTY9CQDCBgkDexhVEnELTXdZjCw 3cj5iY9aSshwGMNtP8Hqbb2gxtLahw0qGrguK7/BVHcWQjxRbxFRV4pBJJ9vip3HvsYS txQA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=HXezd0/zvxm8c1xmbFRqeajtbZKpdK4KxKIu4VPowNY=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=0FBD63/Uo7Y1aqkY4gDVxumSlmugx2pzjEf5hoSSmX0zJrmth8OSK/mKYig1Xpj3d2 NzXBrhfsfWSIYixznlxqV1MFjuBjzBV9JgWQUgD3pqtvo8u/pDQkVMvZxFUv1hEksSzH 3Y3DyiN15eVra5/BSGV80Vj9EMOmshkVkqBVDsF2XqCJPVz5U8PoIewxAJqQJ8UDm815 QZG0PmVIGVTVaKOM7lTBUkkiHr3+Z1HlKdbQcbf+3lJLHHtmcSqoxwjYvJJ5xak03ULG rPj+2ihDFBwHOcEfmWMtV/bHbm1pzEjJQBQMENRb2559VQHZYVcypbBwhR7UC+bpz/nb Di2A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=uL5pTr9r; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id s7-20020a635e07000000b005c6125b1733si2421448pgb.538.2023.11.30.16.58.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=uL5pTr9r; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id CABC385F6EBE; Thu, 30 Nov 2023 16:58:25 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376928AbjLAA6H (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229952AbjLAA5t (ORCPT ); Thu, 30 Nov 2023 19:57:49 -0500 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2047.outbound.protection.outlook.com [40.107.220.47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2C421731; Thu, 30 Nov 2023 16:57:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f/03xY0+PIyugU7gQ0SruKcuqV+UQ9uOGFM5g4dOQJ9Qhjht/pBREak3IWneL9igWRuX6xYqX4OV0hMWBixg7bQkBhe5U6HBbffYqTySKssEovpViDOELbd2J4mfqv/XswELnQwC7ZjpFF6yiRUdI29DxpNxOnJQhGa4t4Ec50ztPUidRezBMEqxCiShhdJoowHmeVcw2fus44BVqpoZZVJc+tfV3y8z5QwqFos9a210iM+ZtnYyO6aj7TuyoZjyusomdFWPf1cCM8WrzyVpfDHeCWw3GGr8Vxaehtoq+AAq3G8V4q52dQiFVNDx81hIM1so6To7DqYIZ+bVNARLHQ== 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=HXezd0/zvxm8c1xmbFRqeajtbZKpdK4KxKIu4VPowNY=; b=MvyPNs/amQi+bJ8vapYGqNfX8m1XLoJW2WBnubExA6YNNbl0/vse1Xw/34wHj5Xl++4VTReZXtm2jxwZOcD0nBhJ+LPvC5Rkbh58R2vG1/dJkvIPewHJr4IkDDJuMQloXDAUmh5ZzAMPE2lMwIOmFX9l1JfUhzP2cYeL1SF1XUwVL5POAGTtMZD7uj2oQkBRA6A7xB1FvrQnRkbLUaTkHGZ42ew7YncsDOx1gx2vUEYdyYrp+zjtz9yzQlEHJxhWShQ/ueuGt14uaBV8zCTMGa01vmI0JU6Iu7MEmQPRe3Pc62eLJjgKQ88bkTUYhUsP5hNhwX6/Swbj0+Xiec7euQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=HXezd0/zvxm8c1xmbFRqeajtbZKpdK4KxKIu4VPowNY=; b=uL5pTr9rUk9zcr+byBBPr//EFj4P7Xji7sesdwmTv5MenMC20Z6BRlXKaLfWqx+wYhNAgf24lB2h4fvfJUa8f2wZt912j8aWwugyez0ICSVmxpEuIpDckT3XvYO4nWEy1oiwzbTbFwkHAmsHhRKw2Q45Lt172IXcG7jemG3EE20= Received: from BN7PR06CA0037.namprd06.prod.outlook.com (2603:10b6:408:34::14) by CY8PR12MB7705.namprd12.prod.outlook.com (2603:10b6:930:84::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:43 +0000 Received: from SN1PEPF000252A1.namprd05.prod.outlook.com (2603:10b6:408:34:cafe::6b) by BN7PR06CA0037.outlook.office365.com (2603:10b6:408:34::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.26 via Frontend Transport; Fri, 1 Dec 2023 00:57:42 +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 SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:42 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:40 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 09/15] x86/resctrl: Add interface to display monitor state of the group Date: Thu, 30 Nov 2023 18:57:14 -0600 Message-ID: <20231201005720.235639-10-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|CY8PR12MB7705:EE_ X-MS-Office365-Filtering-Correlation-Id: f6343044-e6cf-4553-6e25-08dbf20885f7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9gnhT7lQADbFNxsgQl2kk8kvevspRSs8kkrHWbiFHrIEqdCW/0tZySSH6TlmdyqpuoKoHzCum4AvhnlOqWU50QrZ6FGgiHTWVIFMpnrhldSremlhTGcyDPwVMels/NtU7Aabu7SuVZcroXwnScdaMYZDtXbXkTVxyR7EfzmxjuTzkGduJE1opNbos93ryOgC6ajoaiwX9M5bKUL7uI6fyKVnE4dKPvZBQkN7D/rlU2UqMVRAOtxK+mvZm7g1E3yTrb8kQrlaNs7iWB16RhEwBZpZhI2wvu+oLXxBzPECbY/2Z8/ZSB7RBTbNsPAmF14u4BHUqhaPRdyw/eHGJoTLMC+q4oVR9ocVYSMq/r2FHT36anGdaPTthuuWpxzy3+ub1EPM5me4NS8PUkSgB/SwhML0vqVkMnwv/hguQkaRFMv0OvL9Ef4QbhfBtZ2ck/PbLlgrXCcdsHttnfp7KsegF7BpxIi8btskUEsX6Xbd9bXG8rpg3rRuIClztv7EIZJtJ3XsJnBLE6ntPOLoGIBamwAJwZ4CEMqVb0woPMTaGIdgnak/MRQAjA+zCeUSEqOyXp+4ytnEqyY+h3WJzg4O6BhMazqsSJBg0V/JVcbLxPR8nzIAScCh/oe+Q+2qUADiBA+0O9Cg89WuI0ibgGjgKKO/iwVBi1NwJdioQtGsqaUC2+uf4xQWujhoxjUKtfWoexsEterflSX5yRhR53L+674skspqhbE5Sm3yZFl1dURMqClUN2Tj3G7MoqpI+6i62q2p3eE4YJ6rmBUWiGGyCw== 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)(136003)(396003)(346002)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(40470700004)(36840700001)(86362001)(40460700003)(83380400001)(26005)(1076003)(6666004)(7696005)(2616005)(47076005)(426003)(36860700001)(478600001)(44832011)(7416002)(8936002)(5660300002)(8676002)(41300700001)(336012)(2906002)(110136005)(16526019)(4326008)(316002)(81166007)(70206006)(70586007)(54906003)(36756003)(356005)(82740400003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:42.3677 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f6343044-e6cf-4553-6e25-08dbf20885f7 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: SN1PEPF000252A1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7705 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:26 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039148882832601 X-GMAIL-MSGID: 1784039148882832601 The ABMC feature provides an option to the user to pin (or assign) the RMID to the hardware counter and monitor the bandwidth for the longer duration. The RMID will be active until user unpins (unassigns) the RMID. Add a new field monitor_state in resctrl group interface to display the assignment state of the group. This field is available when resctrl interface is mounted with "-o abmc". By default the monitor_state is initialized to unassigned state. $cat /sys/fs/resctrl/monitor_state total=unassign;local=unassign Signed-off-by: Babu Moger --- Documentation/arch/x86/resctrl.rst | 20 ++++++++++++++ arch/x86/kernel/cpu/resctrl/internal.h | 8 ++++++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 36 ++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index 87aa8eec71b7..d3df7d467eec 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -390,6 +390,26 @@ When monitoring is enabled all MON groups will also contain: the sum for all tasks in the CTRL_MON group and all tasks in MON groups. Please see example section for more details on usage. +"monitor_state": + Available when ABMC feature is enabled. ABMC feature provides an + option to the user to pin (or assign) the RMID to hardware counter + and monitor the bandwidth for the longer duration. The RMID will + be active until user unpins (unassigns) it manually. Each group + will have two events that are assignable. By default, the events + are unassigned. Index 0 holds the monitor_state for MBM total bytes. + Index 1 holds the monitor_state for MBM local bytes. + + Example:: + + # cat /sys/fs/resctrl/monitor_state + total=unassign;local=unassign + + When the events are assigned, the output will look like below. + Example:: + + # cat /sys/fs/resctrl/monitor_state + total=assign;local=assign + "mon_hw_id": Available only with debug option. The identifier used by hardware for the monitor group. On x86 this is the RMID. diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index 2801bc0dc132..bc36acd152be 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -53,6 +53,12 @@ /* ABMC ENABLE */ #define ABMC_ENABLE BIT(0) +/* + * monitor group's state when ABMC is enabled + */ +#define TOTAL_ASSIGN BIT(0) +#define LOCAL_ASSIGN BIT(1) + struct rdt_fs_context { struct kernfs_fs_context kfc; bool enable_cdpl2; @@ -161,12 +167,14 @@ enum rdtgrp_mode { * @parent: parent rdtgrp * @crdtgrp_list: child rdtgroup node list * @rmid: rmid for this rdtgroup + * @monitor_state: ABMC state of the group */ struct mongroup { struct kernfs_node *mon_data_kn; struct rdtgroup *parent; struct list_head crdtgrp_list; u32 rmid; + u32 monitor_state; }; /** diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 897707694cc8..edb679b22b7b 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -779,6 +779,26 @@ static int rdtgroup_tasks_show(struct kernfs_open_file *of, return ret; } +static int rdtgroup_monitor_state_show(struct kernfs_open_file *of, + struct seq_file *s, void *v) +{ + struct rdtgroup *rdtgrp; + int ret = 0; + + rdtgrp = rdtgroup_kn_lock_live(of->kn); + if (rdtgrp) + seq_printf(s, "total=%s;local=%s\n", + rdtgrp->mon.monitor_state & TOTAL_ASSIGN ? + "assign" : "unassign", + rdtgrp->mon.monitor_state & LOCAL_ASSIGN ? + "assign" : "unassign"); + else + ret = -ENOENT; + rdtgroup_kn_unlock(of->kn); + + return ret; +} + static int rdtgroup_closid_show(struct kernfs_open_file *of, struct seq_file *s, void *v) { @@ -1895,6 +1915,12 @@ static struct rftype res_common_files[] = { .flags = RFTYPE_FLAGS_CPUS_LIST, .fflags = RFTYPE_BASE, }, + { + .name = "monitor_state", + .mode = 0444, + .kf_ops = &rdtgroup_kf_single_ops, + .seq_show = rdtgroup_monitor_state_show, + }, { .name = "tasks", .mode = 0644, @@ -2446,6 +2472,12 @@ int resctrl_arch_set_abmc_enabled(enum resctrl_res_level l, bool enable) if (rft) rft->fflags = RFTYPE_MON_INFO; + rft = rdtgroup_get_rftype_by_name("monitor_state"); + if (rft) + rft->fflags = RFTYPE_MON_BASE; + + rdtgroup_default.mon.monitor_state = 0; + return resctrl_abmc_enable(l); } @@ -2453,6 +2485,10 @@ int resctrl_arch_set_abmc_enabled(enum resctrl_res_level l, bool enable) if (rft) rft->fflags &= ~RFTYPE_MON_INFO; + rft = rdtgroup_get_rftype_by_name("monitor_state"); + if (rft) + rft->fflags &= ~RFTYPE_MON_BASE; + resctrl_abmc_disable(l); return 0; From patchwork Fri Dec 1 00:57:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172205 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793095vqy; Thu, 30 Nov 2023 16:58:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IHtvo9nr0h6c9DK27WF9NpB8CrSD6Wom+wQ4qN4i8OXEhp/q92w5OZ2bH3zMTm/Sb0UFNH3 X-Received: by 2002:a17:902:fc47:b0:1d0:220a:f012 with SMTP id me7-20020a170902fc4700b001d0220af012mr6612673plb.6.1701392321180; Thu, 30 Nov 2023 16:58:41 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392321; cv=pass; d=google.com; s=arc-20160816; b=QD75AFKEVnwB5PrgP0eZZTRj/MOe6zXP5k9S36RooXHnGU215nrPbeABY4UhpG2b9V ltKN0ZwF4d19VBEGaCs3aZ8Gh6gsOh74vswScnI4gVLAZ/EnS2iMjvWEHgeTWMUYK0jj t5aEUHUu26+fOKnIArUodwAJw2M5uQKXwzkXVSchUnwOGZHwL8X1ondkhom3JBBybhkZ fbvOcsw9kVzYeDvV+mBiaF86zAgRRPd2g1ZOummz/34MVtyz7YH2M9JNPicXd7YPxlAB l2G8yMNzk7svvPzs62oOYNjkMvtrKRXwI638ZHTE1yq6mUrcU4+itZm2cx4beUOeTo5S EVFw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=piEPgAKjrySING7Fbtem/KYTsQm62KOjO+TVQc2aTPs=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=rQ3+jmGUm2p4vVUiKXPv3muX9JvYYRXZSJ4aHNqAQRWzEmgiZzEnmwd+TTZzsJQ1qK VNU7W2+lrzSZPIJFFTWFL3opG9fIaZugyZysQbfR99OD7scimyNz13xvG3MlR5RUjtSG GjWEuCBDzZMCZ0uvkCVqQgqk7ilsNC9Cn6Pf0NGX1akg1zyBTBhbPFzZCoCv9xb3OEZW pq4bduIZEZIlPwN1IYeMWQ5wd+GBNPonpggLiKNbxCeum405zXq3AHw/5mJocjCIxSCD LPU7uoLqVf194PjH+eHnJyl/2LSyKISLd8YbcI0gHwl0FBVYI1i4cuHfAlk6YftngZXZ nsQQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=TroZ6xjn; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id s11-20020a170902ea0b00b001cfa2728007si2434715plg.231.2023.11.30.16.58.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=TroZ6xjn; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id DDE7880DF25A; Thu, 30 Nov 2023 16:58:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229829AbjLAA6Y (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376669AbjLAA5z (ORCPT ); Thu, 30 Nov 2023 19:57:55 -0500 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2066.outbound.protection.outlook.com [40.107.94.66]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F418910FD; Thu, 30 Nov 2023 16:57:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lUBv4E9/84ACcP2Mi0fdM74dIhCOD2gHCf3hcdv0v2GfjCjSx7nkAvh+4BogtQEqxHf9AwcYjoYylIvjx7ArtemTejeELl1pmKioc1m0P/BNypumX4P75dsc3v5Kvsu0iEXsW4q2lx/GbEW9Xwj/SsTA9jUaMjcGZVYyubUsgpXv/8RgwxNZoxeeN6tSi2zamP2i4Mn5IhOXIAWDARunyYbLPs2ZKQgrtpz4UEMhYlnkepdmdxbNBkkWDwWjikBdJMhEmcjr9SGYeXqNiHtK/csF9jYsF/M7GgOZ8dGtshzZjd/rbqMbxtOOwxIVzCOxHoVRTU6ijqvLmRgW8Dsk2Q== 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=piEPgAKjrySING7Fbtem/KYTsQm62KOjO+TVQc2aTPs=; b=Sivn8TYlNYskYbwf9BzCpPJ6+wnzA9zYcnY4PnZfALoTwwL4T0Yt3I2zfKupHekiyDaD0v+uBE2ZPClwh8f1mVLOwRd8ILhXmLde6uNYAfRTZt7m0+ApD16y9tMztgdXyceHM53Um46D18Z7/ttgT7QLsQlK8J/iM+/EuVSh40EDFRtfYNBcGvoS7G+ut+sqamwNSqB08sTGh50+9DJGSUqVwHsG6mDQ8NLtt8si1nVDDavponipzUE8S6gd8yNH+DDJdopSaE0OtUf/+SBjEc3+e33UTdWpdgSng77e8AHJ/SMXKBB5LHcC1EeeVZUhiOgHlvDKHDci5H4Zfg43xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=piEPgAKjrySING7Fbtem/KYTsQm62KOjO+TVQc2aTPs=; b=TroZ6xjnkDk75sNqLkUmaX+ITJfwv0T0yG9dj5oGqNKmca5HXvWimIQMxjkBdTG7lGWc9jqYBX5080x9T157LJ6kOYG+0vTN0nVd2UxKvJkwcu9wiE5HcxfOrLsiAHwh3sQFoqyCOlpOXzgot9ih228zHztlweoZpZoWq9JYtLA= Received: from BN0PR08CA0021.namprd08.prod.outlook.com (2603:10b6:408:142::16) by CH3PR12MB9282.namprd12.prod.outlook.com (2603:10b6:610:1cb::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:45 +0000 Received: from SN1PEPF000252A2.namprd05.prod.outlook.com (2603:10b6:408:142:cafe::23) by BN0PR08CA0021.outlook.office365.com (2603:10b6:408:142::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend Transport; Fri, 1 Dec 2023 00:57:45 +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 SN1PEPF000252A2.mail.protection.outlook.com (10.167.242.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:43 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:42 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 10/15] x86/resctrl: Initialize ABMC counters bitmap Date: Thu, 30 Nov 2023 18:57:15 -0600 Message-ID: <20231201005720.235639-11-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A2:EE_|CH3PR12MB9282:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a0c02a4-1594-44d9-1ec0-08dbf20886d8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UavEWFiWEDUFi6IWp5nvohx5ggflfljacyyOKZzYJf4/KAmBxIwQT1KtVRi95KEgUWLolDqDa7lDGUIJszukATWHhtDInZLvQTeZKSfqgnXAZSvJy5T+ZLRRXlwy7iUNjahvvtScSkJt8TXjP5EGpz4o32mEzpNDUCOTZk8i0qPRPLERp2h2Zk28RyUMVx2pbeMITnI9kXJnTYobK3Yl0RePlQRMoHcqIMRCn0T/bgFrjEYRnQTxjeS9hnVmlJ43Yve3eu3o3TCeNRPDzsVbzS630hZRV+ZPQYRV2My9oQ6U0ypA9lyuKhw3WIVVJodT0kPNAPdeNOe/7vnEh0MCo/pckh58PM/kxyQx7WLLMyaWwZNeStsKZJmyOGiuhTFHih48L5FDuNcpGRcM5UC8Wh0W1ouMwIPKwyVwaXyVeeM/zicL/zdDejgHoX5FLtAeBuXXmsSclX8OSJvcsQBMRtRZgiW4kIIX5XSPWOCJ3Tg7iYKypC3F0NcJB0AdJU1Ux02u12vcnIJTES3YM4nanySXkmXqQX9OK3LVyagaK7bYlFC44o3dB+Lw6PX2DGIIypKoZ6vAhKGpeQPVfP5XgiE3wnmQFDEuVUJBw5+ovRHQ60vbi8UvBDeR94W7rzdlukw0f597km6y6D6gwTIHuIp3u+Z6oLSCvDq91Vy6K1oI3nYiXh28jIkIZm+LrnVQY4qOGMZT7VYK5pRh13fUW4wvWviFPiStBanX1fowKZsvOR/rkDxPMpP/GYD4f80+vy243i2FmWrHhvczem/iQg== 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)(346002)(376002)(136003)(230922051799003)(64100799003)(451199024)(1800799012)(82310400011)(186009)(46966006)(40470700004)(36840700001)(26005)(40480700001)(40460700003)(36860700001)(81166007)(356005)(82740400003)(47076005)(7416002)(2906002)(5660300002)(336012)(6666004)(83380400001)(426003)(16526019)(1076003)(2616005)(7696005)(70206006)(86362001)(41300700001)(70586007)(478600001)(36756003)(4326008)(54906003)(8676002)(110136005)(44832011)(8936002)(316002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:43.8402 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a0c02a4-1594-44d9-1ec0-08dbf20886d8 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: SN1PEPF000252A2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9282 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:40 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039154734144407 X-GMAIL-MSGID: 1784039154734144407 AMD Hardware provides 32 ABMC(Bandwidth Monitoring Event Configuration) counters when supported. These hardware counters are used to assign (or pin) the RMID to the group. Introduce the bitmap abmc_free_map to allocate and free counters. Signed-off-by: Babu Moger --- arch/x86/kernel/cpu/resctrl/rdtgroup.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index edb679b22b7b..f72d6d8c12df 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -164,6 +164,22 @@ static bool closid_allocated(unsigned int closid) return (closid_free_map & (1 << closid)) == 0; } +static u64 abmc_free_map; +static u32 abmc_free_map_len; + +static void abmc_counters_init(void) +{ + struct rdt_hw_resource *hw_res = &rdt_resources_all[RDT_RESOURCE_L3]; + + if (hw_res->abmc_counters > 64) { + hw_res->abmc_counters = 64; + WARN(1, "Cannot support more than 64 abmc counters\n"); + } + + abmc_free_map = BIT_MASK(hw_res->abmc_counters) - 1; + abmc_free_map_len = hw_res->abmc_counters; +} + /** * rdtgroup_mode_by_closid - Return mode of resource group with closid * @closid: closid if the resource group @@ -2715,6 +2731,7 @@ static int rdt_get_tree(struct fs_context *fc) { struct rdt_fs_context *ctx = rdt_fc2context(fc); unsigned long flags = RFTYPE_CTRL_BASE; + struct rdt_hw_resource *hw_res; struct rdt_domain *dom; struct rdt_resource *r; int ret; @@ -2745,6 +2762,12 @@ static int rdt_get_tree(struct fs_context *fc) closid_init(); + r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl; + hw_res = resctrl_to_arch_res(r); + + if (r->abmc_capable && hw_res->abmc_enabled) + abmc_counters_init(); + if (rdt_mon_capable) flags |= RFTYPE_MON; @@ -2789,7 +2812,6 @@ static int rdt_get_tree(struct fs_context *fc) static_branch_enable_cpuslocked(&rdt_enable_key); if (is_mbm_enabled()) { - r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl; list_for_each_entry(dom, &r->domains, list) mbm_setup_overflow_handler(dom, MBM_OVERFLOW_INTERVAL); } From patchwork Fri Dec 1 00:57:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172203 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793061vqy; Thu, 30 Nov 2023 16:58:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IHlDgrW2bJkSfW0Mr27UOtAho9lYXEkgwYP5dnVAUk3KF8Ji2jmwwcdsT6i/PImuW7WhUqV X-Received: by 2002:a05:6358:998a:b0:16d:e923:573 with SMTP id j10-20020a056358998a00b0016de9230573mr25068916rwb.15.1701392314360; Thu, 30 Nov 2023 16:58:34 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392314; cv=pass; d=google.com; s=arc-20160816; b=09tslJTnmy4epdxvsh8uov4727vW4CB6aRG4ErcI2fn/gi6UO5YI9zWR1VpMOivD35 uXW/ddPOpqeTtzAXf8SuFNuuX6m4551tRWQUjuctWKngRlutrdV/QGgX2WiJzTcmKRcC OgJGGL5wnbNzE+Xju/+Sn/QewrAvWG7ZGJhV6ikrfUhNs9mLkpZo+Fa23MdLJDoA+Prc r/UQDdIP88l4yu0J1p0kjryb7jvI0ZRNoszJsElSj5254zjR5RnbL2jczJ83g1goQ+HR o40XoB3pT/FDFWIfNsI8YSHtBIN+rthVtcyPTWNv3M4dizKVX344jIGAnpltEwc2i6vz K1NA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=f8OF7Qqyvrszj+BrHp781vIQT51Ku/jK3w6TgA1FvgU=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=f4EifmaqsO/2oQn8mOcYbWGe6r9ldt8cfkSd6l9YWKzPyBlAcc8GSOE+CKc6S228j9 0RYO2ncW86Z9YSwVJsn4s5BBYGGk7SY8DmBMIPa5xcgyd3w1Wl4HXe+Hrwq0QCwdNahL 6b3fJi2bL8q+NkW3JpWJjPpnofGt8/ceyt0foNmkopsYIqfgGBx3/Uq3sUWcFjekkcA5 LKYmF2/C+yryd1HW2ze8NHQdlUhqx9zGFQDs2GRLqkN+Nccq21vj2togMTdMbl3sc0jx rVtqfCb/Byl+Ci3b2R7qVaGWM0mbcj3Mqzqx4TVTvbh6yvitOZ5f7jxZCKCNxvIzYISD 61qA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=SuFJa6Dl; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id z6-20020a636506000000b005c1b2d93e52si2328392pgb.368.2023.11.30.16.58.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=SuFJa6Dl; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 0F08582FD7C7; Thu, 30 Nov 2023 16:58:31 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376417AbjLAA6V (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51850 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376660AbjLAA5z (ORCPT ); Thu, 30 Nov 2023 19:57:55 -0500 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2049.outbound.protection.outlook.com [40.107.95.49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35A3A198C; Thu, 30 Nov 2023 16:57:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GP+XVe3W9MzON0CmtpiZl2PCTcKNgRlDaAIcejCFy+pjFGL6VZdTBb9j92LFHyLOSDIXoWWF9mpyHjOei9rNkE+90uzleiXLdYQukG05WeFtYXCJidtNJrDozEUH7/eI6HD4cu3JLPi/PphG9RIpc9mCafKIro/Z2jkg44/NB2PN06Os5zxvM6XR7mSX3CgScr4ZcaLr652p+zTdeWidndekbmkrA9O/+bz1q3o1ZDJnHysMDsNY5Fp9waahVBsZS3mRKhkzQVe19A3AsIjuFg+ZoUPMWbg1GYX8+B/p6OF8FCD9QgXJYO6uTVzpbZEa/E5BCLIrq4HIJFUXeywbOw== 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=f8OF7Qqyvrszj+BrHp781vIQT51Ku/jK3w6TgA1FvgU=; b=ivgEwzl5uGdwbzitkJhlJe6wJT2sauZnCRlW/Ygba63FAV5xrAa3/wPP4QTCpZjWkESdcdleSvOB7FFbyfG4kRIItwpucXrqgRaLBFilZIbBnXyNSR+zFimNRQa2hNOYZN6k+h0qlkOapMylkFFZaJ0bN4mlu3AFziruFS0Mx4tMVHwc6ssk16kVuHHwoZ1Q0scsV5U8KI2NXVs8lEWLu7zuEMt6OnLJMzMdHry2lPFY/Uc2Ob97snAte1EyqagEaluJEmFXrcZXonffYOHiicahSP4l5oBg/TPK+YSFL6z3YJER4wWEHWPbZ23bFzgGNHK8i8ZmGFYXcYxx/kbCzg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=f8OF7Qqyvrszj+BrHp781vIQT51Ku/jK3w6TgA1FvgU=; b=SuFJa6DlZyYrJYNdYEwXZ5vUzxr8XcvBtmnZD1AbCNVuDvUxQ3m5N4o9q1dh/fq14UG/N3wa6ryp6Wz7x5KwlV5oOMChrzTgfDanpafLLBhkfKSxQCcTYzKhEbeO7nCh18CzSwDZYxaGlWCnWgX5dJOZ7lMrwied3t/3tKmsP+A= Received: from BN0PR08CA0002.namprd08.prod.outlook.com (2603:10b6:408:142::18) by CY8PR12MB7435.namprd12.prod.outlook.com (2603:10b6:930:51::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Fri, 1 Dec 2023 00:57:46 +0000 Received: from SN1PEPF000252A2.namprd05.prod.outlook.com (2603:10b6:408:142:cafe::d6) by BN0PR08CA0002.outlook.office365.com (2603:10b6:408:142::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend Transport; Fri, 1 Dec 2023 00:57:45 +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 SN1PEPF000252A2.mail.protection.outlook.com (10.167.242.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:45 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:43 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 11/15] x86/resctrl: Add data structures for ABMC assignment Date: Thu, 30 Nov 2023 18:57:16 -0600 Message-ID: <20231201005720.235639-12-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A2:EE_|CY8PR12MB7435:EE_ X-MS-Office365-Filtering-Correlation-Id: b35c1e24-f1cb-4361-262b-08dbf20887e3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D2PF84T2vcfUvMASw3+F+ZXu6IOBI0m5kj43/fUxx/usp41RjAfyzkPk1Vzn8tUc+pHKhVwFHWi+RzwiktyLsP0Ux7bSKsFGWUy5+Ny+Eu7M4aOVebb4cb4KHW8i3fM3YD8fRJmfCwTG7eJTN9rn7XK+NnEuTreibDsXlxDZZnIVoPhZxvRGETsmddPo7JxwvI+YNQypO0GNzEbvKchfw8jIEZTTDbsGmcBfzk9MrUzdRRgDNidTA1ocirrQBYDR9EHDB3d2aPCZBPNOGkIpHcPhxbFZwsBWR9q+vjT9KnzOs9uD3pXLGD1QUSMXBI5wX6H6NJOAF1d3WW7kfIYgSUK7MlahVioO5+rPfyDfa7vdC/6Auvj/F8UhrKkhtMakcvwO+au2CNmAqBOAKLyPgyeUeYcqvQDGr4cpj3NlNm8HPtUOym5gzqGtSgjj5N3RIcefyuCEN9Q5WU+ZKVK2gb/SrBTCAFxG/LJvppU6fJPH4V718riFku9xfClo8SMZRVr69aNCi25upRqSlkzItsCX6IgL4VG+Jdscs711n+6SwumUCcqWdm2CJELYoPLnCh+l3R4e3fpklibgsMZZpcfMfvLWJQChEWZSlm0wPTKXBUlKny7I7oc4kfxvs8qsgX0FHh2KTpfy+txMpGrxWbLEyzMnddYVP69DRU57RO6vuA4/pcL0E9BoxcMPe3bg5HQTGloRRKWJaz9TulqFje0f3XUWSyfCyJSwML5ormQRIags+/azeGWgoEebBSopRUBYxz2Wh8xBGT8PwvD3OA== 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)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(1800799012)(82310400011)(64100799003)(186009)(451199024)(36840700001)(40470700004)(46966006)(82740400003)(36756003)(7696005)(6666004)(2616005)(86362001)(26005)(1076003)(70206006)(110136005)(316002)(426003)(54906003)(40480700001)(70586007)(16526019)(336012)(4326008)(8936002)(83380400001)(8676002)(966005)(47076005)(44832011)(36860700001)(7416002)(5660300002)(478600001)(356005)(81166007)(2906002)(40460700003)(41300700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:45.5902 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b35c1e24-f1cb-4361-262b-08dbf20887e3 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: SN1PEPF000252A2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7435 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:31 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039146946894720 X-GMAIL-MSGID: 1784039146946894720 ABMC(Bandwidth Monitoring Event Configuration) counters can be configured by writing to L3_QOS_ABMC_CFG MSR. When ABMC is enabled, the user can configure a counter by writing to L3_QOS_ABMC_CFG setting the CfgEn field while specifying the Bandwidth Source, Bandwidth Types, and Counter Identifier. Add the MSR definition and individual field definitions. MSR L3_QOS_ABMC_CFG (C000_03FDh) definitions. ========================================================================== Bits Mnemonic Description Access Type Reset Value ========================================================================== 63 CfgEn Configuration Enable R/W 0 62 CtrEn Counter Enable R/W 0 61:53 – Reserved MBZ 0 52:48 CtrID Counter Identifier R/W 0 47 IsCOS BwSrc field is a COS R/W 0 (not an RMID) R/W 0 46:44 – Reserved MBZ 0 43:32 BwSrc Bandwidth Source R/W 0 (RMID or COS) 31:0 BwType Bandwidth types to R/W 0 track for this counter ========================================================================== The feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth Monitoring (ABMC). Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- arch/x86/include/asm/msr-index.h | 1 + arch/x86/kernel/cpu/resctrl/internal.h | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index a2086aad580c..ec85f6733eda 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h @@ -1124,6 +1124,7 @@ #define MSR_IA32_SMBA_BW_BASE 0xc0000280 #define MSR_IA32_EVT_CFG_BASE 0xc0000400 #define MSR_IA32_L3_QOS_EXT_CFG 0xc00003ff +#define MSR_IA32_L3_QOS_ABMC_CFG 0xc00003fd /* MSR_IA32_VMX_MISC bits */ #define MSR_IA32_VMX_MISC_INTEL_PT (1ULL << 14) diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index bc36acd152be..ca4b551dc808 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -59,6 +59,8 @@ #define TOTAL_ASSIGN BIT(0) #define LOCAL_ASSIGN BIT(1) +#define ABMC_MAX_PER_GROUP 2 + struct rdt_fs_context { struct kernfs_fs_context kfc; bool enable_cdpl2; @@ -168,6 +170,7 @@ enum rdtgrp_mode { * @crdtgrp_list: child rdtgroup node list * @rmid: rmid for this rdtgroup * @monitor_state: ABMC state of the group + * @abmc_ctr_id: ABMC counterids assigned to this group */ struct mongroup { struct kernfs_node *mon_data_kn; @@ -175,6 +178,7 @@ struct mongroup { struct list_head crdtgrp_list; u32 rmid; u32 monitor_state; + u32 abmc_ctr_id[ABMC_MAX_PER_GROUP]; }; /** @@ -527,6 +531,24 @@ union cpuid_0x10_x_edx { unsigned int full; }; +/* + * L3_QOS_ABMC_CFG MSR details. ABMC counters can be configured + * by writing to L3_QOS_ABMC_CFG. + */ +union l3_qos_abmc_cfg { + struct { + unsigned long bw_type :32, + bw_src :12, + rsvrd1 : 3, + is_cos : 1, + ctr_id : 5, + rsvrd : 9, + ctr_en : 1, + cfg_en : 1; + } split; + unsigned long full; +}; + void rdt_last_cmd_clear(void); void rdt_last_cmd_puts(const char *s); __printf(1, 2) From patchwork Fri Dec 1 00:57:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172207 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793175vqy; Thu, 30 Nov 2023 16:58:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IGCdNue6pQ892vRSgAp+9JOYjN8BOFUwGsdj65WFvStADG4GXMcFrS6hdVgLlj66yvGyiWr X-Received: by 2002:a17:902:dac1:b0:1cf:edd5:f783 with SMTP id q1-20020a170902dac100b001cfedd5f783mr14371401plx.15.1701392332194; Thu, 30 Nov 2023 16:58:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392332; cv=pass; d=google.com; s=arc-20160816; b=nHUqtBcpmN8ART3sKx02jZVpJTHzYQqkeD43J/56T+qm2vhEzllUGlGXQ/ZIbX5P4n e95uattUxNu8yTeEXmseHiI8AtpQ455SzWKdEQlkuUwpCZWyAV2KCo5RRg1kdOprmgXr yUv9WrSUtMxowAEfZU/axY+kgvNJuyFv+mt91aExe1us1mN/dMRKlFeOdYQ6doadAPZd v4Dc9eTXuE2oR69Jo1tBlibL36aazcg5f/odm+7rVYCwv1/9CsjLD3aGrwH4w9+5x7GK DWqE32mzQF8eXBDY6bpNPsI4uQ80HPvdNCV/Ru+Vhls+i0XMDsxBgy4J8YFAeKRlqxiA 15kw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=I6VmD/ResjfrFnzsAuNBUKNm8poKIvLnEvkzo/Qn5kA=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=ccUFllq/YGl4ia85WiJ4xilaP22MYNbqLyWLooyeCEDmb5I74StpCMxzWZrrg5Slnl vEsIyBQTsyVY8/Az42gtzh40GvPdTTI3NYcP4i0pqEezr3llXsEbl5tHpBHVJSafWdii rC2TyZLXZbn8fgQHu3KWtiMTlnQU+DMy/4NvUdrXWKhNPF8WeBDoj0tBehFUEOXsKpns NAJG0TL7xqhbNdmId/CRHu80Iry/nC7mEnqwZlMtEPK1ZOKr4oo5IlrK5JT3ot58hS8h ET4qjU/g8GGUBcwMZt7dWVcsdo/cd0rjyBzpogU9C2MrG2u5xzD10PWfvcO/Gd9DkJpw L50A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=KA7TdWgY; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id x20-20020a170902821400b001d003f4a193si2087458pln.384.2023.11.30.16.58.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=KA7TdWgY; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id C4D3882F917D; Thu, 30 Nov 2023 16:58:48 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229627AbjLAA62 (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376736AbjLAA5z (ORCPT ); Thu, 30 Nov 2023 19:57:55 -0500 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2076.outbound.protection.outlook.com [40.107.237.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D0C8199D; Thu, 30 Nov 2023 16:57:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OdLqKVM9lgYbl4OV7M8UC1iDlGqN7ZZkWFY56M3T53viMeXq5txpAkZ5l9lVa08SRJUAbZhMvopnMP8WUAWJNit0Pxiu9I7I8wQZ1LRUuN7rbEeuiDRM3931zWDYqrUD7goyfBjyOnE//MYdJVDSBw9jaACuBNitL4XLcqQPaJdGoay1hsxNHqi9SlYJ174Ak6TeQZFGo97L94v3zvV1hN4x2nkvQbLZH2BQO+i/bqn5fRwfC79RqlUgLDwUjXWaAVSmVqPs81EL6+kCVVLS5mCxsbACbRPF0qRnP6sLtUkftErzQLjlE0hxb1PbA4a4Uuj+pu04VohHSZC42vP7Ig== 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=I6VmD/ResjfrFnzsAuNBUKNm8poKIvLnEvkzo/Qn5kA=; b=iQMVPpCkUZGhnu9bED1Yyg9i8DJlEsQc2V8IpBwv7nlWvPrs/3CRkcjxXGWiyTp5PjU8Fj1YBCovHenjAizNnLo9ZSWWpxqOOcq8dZvoylOFCnYkdtCI4Kea7LwcgyT44CzeslD0oPAVEjtQbjG6EMAd3KTAP9XYqxgcRpoO2yQuMAvfH6cEA53TEFOexfgnrycBY0MhaSMZss/HcYGBNRi/6wvitZ/Tgm56XsOnnNGrOp3rDEygqczGe15OUaJbYpTT2daP1L+HpbsprzVgo2HRVPPQZWH3+2aq4HxhaJBefbFTv9Q0DwPRGL6AVgvRcq65RA+jShrNKl0OGBZsrg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=I6VmD/ResjfrFnzsAuNBUKNm8poKIvLnEvkzo/Qn5kA=; b=KA7TdWgY78DQKAzcnR5ljBVQ400hwD4YbupQdrC9bGK/y42dqiPiyWyL5I1t+YEQShjY8WbLCEfBX79+0mxylJUNDj2C6kjTYSZOX9I1nYjSrtM8cQtuvZ7aC3+LF0bL/fGAZQj2ocaHY2N2sLTB5/LvDASrg9DAgn6pQexVVGc= Received: from PH8PR05CA0004.namprd05.prod.outlook.com (2603:10b6:510:2cc::23) by BL1PR12MB5779.namprd12.prod.outlook.com (2603:10b6:208:392::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:48 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:510:2cc:cafe::78) by PH8PR05CA0004.outlook.office365.com (2603:10b6:510:2cc::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.14 via Frontend Transport; Fri, 1 Dec 2023 00:57:47 +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 SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:47 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:45 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 12/15] x86/resctrl: Introduce mbm_total_cfg and mbm_local_cfg Date: Thu, 30 Nov 2023 18:57:17 -0600 Message-ID: <20231201005720.235639-13-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A3:EE_|BL1PR12MB5779:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d5040c0-431a-440f-6d24-08dbf2088917 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E60e9F3t/1Mazm7oojtHerE1qn4ZEAUiiydTRfqC6c0FJIEjQ3s0xtypG2dG6YpeLDD4r3hUrjWQydR5jWzFW/55Yw3/jQxEgA58d8EAaBATXTL7b7jdvDt3sHP8oX63v5QOBDH0u7ezBKk38bTJ/sjERvENH1KpnICzblE1092CmydTRauZvabQ0/F9sWKnqD6KDxyRvjG/RBwAEJu8QASQ0LB+1UOm3OWy0KzZF4lKlELhctJA2KFgA0Xzh2+FxWJQ/X0ORldQNP02b7704wo/hJ5UNXqd0Qfe6vpH0giPA4L9ONQ/zvX7wStFNXRSlBWu8LBwjbVTtFdJ13QX1WSt3P0DKQo2tLO6mBoUgaT29DBOQiIG3pMmh2f2tvEDmkkcTo3TtM4nrSsxH5IeQw4Da0W41wDSElJ24cZ+PJR+IS3Z8Paq6TZb/QMiVPS7STjkEzVRDr30kb6QftIzoYKbp8NoxTQLT77A3Wcrkodalhgfejs/NNl3UNuz8e9JTvweiHUXCjK9ZF8dIPYqT+Qq+ej+OD0ZlqFkIXkRejwOKaeq6C7DD3qHx2jlNF0WZuFrU0VmQPCRrKlIdV1PTGLWSGftxsS1a9D4nyYOy0LNC60gXCPWvc8pYl/0pRQKzgWNSZK0yLwvkvSbLJr2XkQdT1RutJrgia1fJ0hXBLy9IhiungilJSzOcWH07EHv9fX1PwBq1sawGlXk/8DCDG6dAWSi0pDpTzxnFlU/O3DBchrOU2ICZJTlMCejy9ndcVnbbV8bGcRnKhM3Nkoc6g== 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)(396003)(376002)(346002)(39860400002)(136003)(230922051799003)(64100799003)(186009)(82310400011)(451199024)(1800799012)(36840700001)(46966006)(40470700004)(40480700001)(40460700003)(70206006)(54906003)(70586007)(81166007)(356005)(82740400003)(36756003)(36860700001)(86362001)(426003)(47076005)(83380400001)(1076003)(336012)(26005)(2616005)(6666004)(7696005)(478600001)(110136005)(2906002)(16526019)(316002)(4326008)(8676002)(41300700001)(44832011)(7416002)(5660300002)(8936002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:47.6106 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8d5040c0-431a-440f-6d24-08dbf2088917 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: SN1PEPF000252A3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5779 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:48 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039166004708010 X-GMAIL-MSGID: 1784039166004708010 If the BMEC (Bandwidth Monitoring Event Configuration) feature is supported, the bandwidth events can be configured. The event configuration is domain specific. ABMC (Assignable Bandwidth Monitoring Counters) feature needs the event configuration information to assign the hardware counters. Save the event configuration information in the rdt_hw_domain, so it can be used for ABMC assignment. Signed-off-by: Babu Moger --- arch/x86/kernel/cpu/resctrl/core.c | 2 ++ arch/x86/kernel/cpu/resctrl/internal.h | 3 +++ arch/x86/kernel/cpu/resctrl/monitor.c | 11 +++++++++++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 11 +++++++++++ 4 files changed, 27 insertions(+) diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c index 278698a74c49..5ac9991e81bc 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -556,6 +556,8 @@ static void domain_add_cpu(int cpu, struct rdt_resource *r) return; } + arch_domain_mbm_evt_config(hw_dom); + list_add_tail(&d->list, add_pos); err = resctrl_online_domain(r, d); diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index ca4b551dc808..bc1756a596f0 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -346,6 +346,8 @@ struct rdt_hw_domain { u32 *ctrl_val; struct arch_mbm_state *arch_mbm_total; struct arch_mbm_state *arch_mbm_local; + u32 mbm_total_cfg; + u32 mbm_local_cfg; }; static inline struct rdt_hw_domain *resctrl_to_arch_dom(struct rdt_domain *r) @@ -605,5 +607,6 @@ void rdt_domain_reconfigure_cdp(struct rdt_resource *r); void __init thread_throttle_mode_init(void); void __init mbm_config_rftype_init(const char *config); void rdt_staged_configs_clear(void); +void arch_domain_mbm_evt_config(struct rdt_hw_domain *hw_dom); #endif /* _ASM_X86_RESCTRL_INTERNAL_H */ diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c index c611b16ba259..34d3b0c7f2c6 100644 --- a/arch/x86/kernel/cpu/resctrl/monitor.c +++ b/arch/x86/kernel/cpu/resctrl/monitor.c @@ -854,3 +854,14 @@ void __init intel_rdt_mbm_apply_quirk(void) mbm_cf_rmidthreshold = mbm_cf_table[cf_index].rmidthreshold; mbm_cf = mbm_cf_table[cf_index].cf; } + +void arch_domain_mbm_evt_config(struct rdt_hw_domain *hw_dom) +{ + if (mbm_total_event.configurable) + hw_dom->mbm_total_cfg = resctrl_max_evt_bitmask; + + if (mbm_local_event.configurable) + hw_dom->mbm_local_cfg = READS_TO_LOCAL_MEM | + NON_TEMP_WRITE_TO_LOCAL_MEM | + READS_TO_LOCAL_S_MEM; +} diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index f72d6d8c12df..047aea628e2e 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -1667,6 +1667,7 @@ static void mon_event_config_write(void *info) static int mbm_config_write_domain(struct rdt_resource *r, struct rdt_domain *d, u32 evtid, u32 val) { + struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d); struct mon_config_info mon_info = {0}; int ret = 0; @@ -1696,6 +1697,16 @@ static int mbm_config_write_domain(struct rdt_resource *r, smp_call_function_any(&d->cpu_mask, mon_event_config_write, &mon_info, 1); + /* + * Update event config value in the domain when user changes it. + */ + if (evtid == QOS_L3_MBM_TOTAL_EVENT_ID) + hw_dom->mbm_total_cfg = val; + else if (evtid == QOS_L3_MBM_LOCAL_EVENT_ID) + hw_dom->mbm_local_cfg = val; + else + goto out; + /* * When an Event Configuration is changed, the bandwidth counters * for all RMIDs and Events will be cleared by the hardware. The From patchwork Fri Dec 1 00:57:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172206 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793151vqy; Thu, 30 Nov 2023 16:58:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IHHVlpgMS/ovzxCWWrrX0jg5jvMG971y5b4G2DalmtNKB7XI8j3+LVeGOx48yUkPz1SC42O X-Received: by 2002:a05:6a20:918a:b0:187:c496:898b with SMTP id v10-20020a056a20918a00b00187c496898bmr26333569pzd.3.1701392327732; Thu, 30 Nov 2023 16:58:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392327; cv=pass; d=google.com; s=arc-20160816; b=WeYCWDWX3CCwrM78eHSubrqP9YaaOMLjuCiv3nn4RyYz1KSV4TOodA4RtS7fBFLt87 yc07NQCPOcf0YrpozRS6RMtZh8mTphpctUs03oHbzpFIIJObxbQB75U3YeBOHpLllCf8 jDNXwOf4FRX6akcIeBhxDVxtIW0InfsdcUnp/N37ZNwVXbB5MphuonkJUM395C35nqEb O8laX6FCn6WhVJV2rknsNeGgmeRfqzbkkjqSw0sLlKqucXxR2V5z2v+6y29REyMQo224 4JYtpjdi+gRsbyeFkKAzy+l/emo+3W/QHNKWLcTk63WkNXCeYO2rh7ldKZ6x5fmWJHio 1skw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=CinmOS9wQj8p8QwUJDGc2MDj2/VMMXf5nxa6P8k6SlA=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=e+qquJ2Ccsw1J+DpcpVkMScGtxkk3HKbsFoWUcPSbKTkiMLCA2vcEek2vmDCslNxy/ j/voHph83oeDe/WTjN3d+XDFWRpf67EZXpnuVpx+zHV9WT9Q6ZcLs9tq94zt5DhLxF1M sn+PSBGvXY2v7rfbHcrtynUttqiPRYVuWeWlUBT/OYBKAZm0X5HgrwhcIAh5GWLrhqXs WuoVwpQIJfBij8ThU6sJ7gssLT1rmaeaR66suMJL3JMel/6Yg9MFMoNN4+yRuv5FCBug DbGXns7KMdmLywTJkTArDKjRBgl/MX82hTGD7KRnAAv19Se33v9mxgO6eINb50Kx937k tJNg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=y0CCk7KD; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id e5-20020a17090ac20500b0028586088459si4652478pjt.158.2023.11.30.16.58.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=y0CCk7KD; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 5DB7580DF25E; Thu, 30 Nov 2023 16:58:46 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232421AbjLAA6e (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376818AbjLAA5z (ORCPT ); Thu, 30 Nov 2023 19:57:55 -0500 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2087.outbound.protection.outlook.com [40.107.93.87]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C17619AE; Thu, 30 Nov 2023 16:57:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tz2Kp9vo1M9G+dGolus/FEJJmWjAX2xO2kSFL5ydHB89C8yt+7cKFa67TB6ut4aAAfcvDVuOJI3w3yHSSZMayYFN1WBHem06M2z+ubSYnPX2g/mn72vGfl1cwmN8Jn7u82Jx08XE5rEZhlFwwKzQq2mpaQwhookKVgSQpBixHI6zGlCr6XFpe48KDVrkQxA3qVVUcIxni15nGM3W3TeoAXmg69SIeYt8NwNk5WDWhTm1FEFg4zFrKVTVlcnxQmuAjmGuojce4g3hBQZQ1EjzCr07j2zsPi7BqF9ILtldczdpPcRXSMGtiOKDXgKxJ89RAsZQzUOb8aJqEGwGdXufcw== 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=CinmOS9wQj8p8QwUJDGc2MDj2/VMMXf5nxa6P8k6SlA=; b=Vj6wI4zEL0jydYor1PQepAEkcKXa5QfsPi5/qUL1jPdpK0C66MCVonykPQAkjOekxXJUnkvs+5MIBwLR9XFwd2LszprwzIjAP6MRlFx6Ut97uNp1z+UXET9URzSbUyz+nJnhlu543Da5LKl9nS0ztZPqfl08B3JU2zz+izgyuKq9P6tWoPz14nS22YYYoZoKodhSPStgb/3aGK/KSDXMFTDidgMgDUCIKjFrv9Xz+ijOE+H7nSOTQbeCkhTUz+LekMA8D5IWcYb/ih9Dn5xa4KLd3Xm8vmpb3XiAPE7XOGkNezB7rJ0Z6O64oyFQcnCPNyOg+KZF2/fRRz/S68cQAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=CinmOS9wQj8p8QwUJDGc2MDj2/VMMXf5nxa6P8k6SlA=; b=y0CCk7KDl35efX+r3JdtpvevV3CtjoEzm7iktCKLXrKzbfFhrJEumzTVcmG+pgFYl3TvEgYL8XvH5AC7/N5Pvxdrlmym5iBOk4y+sth7KWpmf5WO53DUsJUjjzwkXAOch6P/I9dWeNm2wt8ZjXFLbrS/O4FYjTcuc53hvXmwljk= Received: from PH8PR05CA0009.namprd05.prod.outlook.com (2603:10b6:510:2cc::26) by CY8PR12MB8214.namprd12.prod.outlook.com (2603:10b6:930:76::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Fri, 1 Dec 2023 00:57:50 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:510:2cc:cafe::d2) by PH8PR05CA0009.outlook.office365.com (2603:10b6:510:2cc::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.15 via Frontend Transport; Fri, 1 Dec 2023 00:57:49 +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 SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:49 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:46 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 13/15] x86/resctrl: Add the interface to assign a ABMC counter Date: Thu, 30 Nov 2023 18:57:18 -0600 Message-ID: <20231201005720.235639-14-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A3:EE_|CY8PR12MB8214:EE_ X-MS-Office365-Filtering-Correlation-Id: 26528513-e21e-41f9-fd28-08dbf2088a4a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sgeCbIBM1oSIvrlzq04EyysY6b+PjrHdOzvJ7rtw5NeUcozVUolNO3ajKu3RqoAxxcEkHuQBQiW25Bwbb4cp9eXimTfRZI6NsXALMUTvnsHpeOXmxKKUmhh5Edtoe4EJHJPJR4KuHvkydr44sLBSkdljm7seHmTQra7UzumaKDGB/kCpoibEIIenogz1Ll8W8rJyv4VufpqMFvOaO2R8OuLkIZ+8aN4lC+EMH+/GVGWeosiSwR08i/E5673qO9VdwoFBplSPBiCKEWnSKf9eYzNwPyf4MS3UUGuSKw9k2OJQ7HiPkY/fbmNNusfiHIQvV8WUvowapMWbp5vuR0gQ3T/gk6B/DLcvmI5k1osWIP7FmyeTW3Xjt8iwDkPFkjr45pKrMEG96/Qrh5EOnA9P+BWsuWj7kQpfUUwEUibgd2NTAVVAP8G3afUPX7g1qy8z/FDHX8uu5yYoeeTxzHs9lBxiu0N0XDTYenp8IZTbscBEwWYSLD51lk9dNuycnbgvQOYOO4l7vF05C9pp6txsvBr2sZA7fLZA84p3IXUVTIMNn3iEVHN+8TVjn63MHHbhUHA7bo3gquCYlKJcgDz3zZjDw8OJ6kgf4Rj2jLGG83jaatonNl0y585XwyWl1AYtFoAdRuv0/Lcq0HW8b9zZDWLqbfgzhQJzaMfhoSjTJQq15Ogrys136n6r8S3uiw88p6dsSqpYfDPr6O1hIcnekXVdsCRxXtLTMgc4Ker+Hfe988UN8tqJYHMzOzz80s2nuyNf2Vr/aUqnmA9MjYPHfQ== 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)(376002)(136003)(346002)(396003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(316002)(86362001)(47076005)(83380400001)(356005)(81166007)(7416002)(40460700003)(16526019)(26005)(1076003)(2616005)(54906003)(70206006)(70586007)(4326008)(2906002)(5660300002)(110136005)(8936002)(8676002)(44832011)(478600001)(41300700001)(36756003)(966005)(7696005)(6666004)(82740400003)(426003)(336012)(40480700001)(36860700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:49.6262 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 26528513-e21e-41f9-fd28-08dbf2088a4a 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: SN1PEPF000252A3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8214 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:46 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039161923131717 X-GMAIL-MSGID: 1784039161923131717 With the support of ABMC (Assignable Bandwidth Monitoring Counters) feature, the user has the option to pin (or assign) or unpin (or unassign) the RMID to hardware counter and monitor the bandwidth for the longer duration. Provide the interface to pin (or assign) the counter to the group. The ABMC feature implements a pair of MSRs, L3_QOS_ABMC_CFG (MSR C000_03FDh) and L3_QOS_ABMC_DSC (MSR C000_3FEh). Each logical processor implements a separate copy of these registers. Attempts to read or write these MSRs when ABMC is not enabled will result in a #GP(0) exception. Individual assignable bandwidth counters are configured by writing to L3_QOS_ABMC_CFG MSR and specifying the Counter ID, Bandwidth Source, and Bandwidth Types. Reading L3_QOS_ABMC_DSC returns the configuration of the counter specified by L3_QOS_ABMC_CFG [CtrID]. The feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication (ABMC). Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- Documentation/arch/x86/resctrl.rst | 7 ++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 152 ++++++++++++++++++++++++- 2 files changed, 158 insertions(+), 1 deletion(-) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index d3df7d467eec..65306e7d01b6 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -410,6 +410,13 @@ When monitoring is enabled all MON groups will also contain: # cat /sys/fs/resctrl/monitor_state total=assign;local=assign + The user needs to pin (or assign) RMID to read the MBM event in + ABMC mode. Each event can be assigned or unassigned separately. + Example:: + + # echo total=assign > /sys/fs/resctrl/monitor_state + # echo total=assign;local=assign > /sys/fs/resctrl/monitor_state + "mon_hw_id": Available only with debug option. The identifier used by hardware for the monitor group. On x86 this is the RMID. diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 047aea628e2e..671ff732992c 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -180,6 +180,18 @@ static void abmc_counters_init(void) abmc_free_map_len = hw_res->abmc_counters; } +static int abmc_counters_alloc(void) +{ + u32 counterid = ffs(abmc_free_map); + + if (counterid == 0) + return -ENOSPC; + counterid--; + abmc_free_map &= ~(1 << counterid); + + return counterid; +} + /** * rdtgroup_mode_by_closid - Return mode of resource group with closid * @closid: closid if the resource group @@ -1583,6 +1595,143 @@ static inline unsigned int mon_event_config_index_get(u32 evtid) } } +static void rdtgroup_abmc_msrwrite(void *info) +{ + u64 *msrval = info; + + wrmsrl(MSR_IA32_L3_QOS_ABMC_CFG, *msrval); +} + +static void rdtgroup_abmc_domain(struct rdt_domain *d, + struct rdtgroup *rdtgrp, + u32 evtid, int index, bool assign) +{ + struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d); + union l3_qos_abmc_cfg abmc_cfg = { 0 }; + struct arch_mbm_state *arch_mbm; + + abmc_cfg.split.cfg_en = 1; + abmc_cfg.split.ctr_en = assign ? 1 : 0; + abmc_cfg.split.ctr_id = rdtgrp->mon.abmc_ctr_id[index]; + abmc_cfg.split.bw_src = rdtgrp->mon.rmid; + + /* + * Read the event configuration from the domain and pass it as + * bw_type. + */ + if (evtid == QOS_L3_MBM_TOTAL_EVENT_ID) { + abmc_cfg.split.bw_type = hw_dom->mbm_total_cfg; + arch_mbm = &hw_dom->arch_mbm_total[rdtgrp->mon.rmid]; + } else { + abmc_cfg.split.bw_type = hw_dom->mbm_local_cfg; + arch_mbm = &hw_dom->arch_mbm_local[rdtgrp->mon.rmid]; + } + + smp_call_function_any(&d->cpu_mask, rdtgroup_abmc_msrwrite, &abmc_cfg, 1); + + /* Reset the internal counters */ + if (arch_mbm) + memset(arch_mbm, 0, sizeof(struct arch_mbm_state)); +} + +static ssize_t rdtgroup_assign_abmc(struct rdtgroup *rdtgrp, + struct rdt_resource *r, + u32 evtid, int mon_state) +{ + int counterid = 0, index; + struct rdt_domain *d; + + if (rdtgrp->mon.monitor_state & mon_state) { + rdt_last_cmd_puts("ABMC counter is assigned already\n"); + return 0; + } + + index = mon_event_config_index_get(evtid); + if (index == INVALID_CONFIG_INDEX) { + pr_warn_once("Invalid event id %d\n", evtid); + return -EINVAL; + } + + /* + * Allocate a new counter and update domains + */ + counterid = abmc_counters_alloc(); + if (counterid < 0) { + rdt_last_cmd_puts("Out of ABMC counters\n"); + return -ENOSPC; + } + + rdtgrp->mon.abmc_ctr_id[index] = counterid; + + list_for_each_entry(d, &r->domains, list) + rdtgroup_abmc_domain(d, rdtgrp, evtid, index, 1); + + rdtgrp->mon.monitor_state |= mon_state; + + return 0; +} + +/** + * rdtgroup_monitor_state_write - Modify the resource group's assign + * + */ +static ssize_t rdtgroup_monitor_state_write(struct kernfs_open_file *of, + char *buf, size_t nbytes, loff_t off) +{ + struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl; + char *abmc_str, *event_str; + struct rdtgroup *rdtgrp; + int ret = 0, mon_state; + u32 evtid; + + rdtgrp = rdtgroup_kn_lock_live(of->kn); + if (!rdtgrp) { + rdtgroup_kn_unlock(of->kn); + return -ENOENT; + } + + rdt_last_cmd_clear(); + + while (buf && buf[0] != '\0') { + /* Start processing the strings for each domain */ + abmc_str = strim(strsep(&buf, ";")); + event_str = strsep(&abmc_str, "="); + + if (event_str && abmc_str) { + if (!strcmp(event_str, "total")) { + mon_state = TOTAL_ASSIGN; + evtid = QOS_L3_MBM_TOTAL_EVENT_ID; + } else if (!strcmp(event_str, "local")) { + mon_state = LOCAL_ASSIGN; + evtid = QOS_L3_MBM_LOCAL_EVENT_ID; + } else { + rdt_last_cmd_puts("Invalid ABMC event\n"); + ret = -EINVAL; + break; + } + + if (!strcmp(abmc_str, "assign")) { + ret = rdtgroup_assign_abmc(rdtgrp, r, evtid, mon_state); + if (ret) { + rdt_last_cmd_puts("ABMC assign failed\n"); + break; + } + } else { + rdt_last_cmd_puts("Invalid ABMC event\n"); + ret = -EINVAL; + break; + } + } else { + rdt_last_cmd_puts("Invalid ABMC input\n"); + ret = -EINVAL; + break; + } + } + + rdtgroup_kn_unlock(of->kn); + return ret ?: nbytes; +} + static void mon_event_config_read(void *info) { struct mon_config_info *mon_info = info; @@ -1944,9 +2093,10 @@ static struct rftype res_common_files[] = { }, { .name = "monitor_state", - .mode = 0444, + .mode = 0644, .kf_ops = &rdtgroup_kf_single_ops, .seq_show = rdtgroup_monitor_state_show, + .write = rdtgroup_monitor_state_write, }, { .name = "tasks", From patchwork Fri Dec 1 00:57:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172208 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793189vqy; Thu, 30 Nov 2023 16:58:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IGxZJ88Xqtl7OVjXGNxofEZtpL9TY2/Jl6NgaRHHRocUWCwaKhzmNX016u6MeXAd761uogw X-Received: by 2002:a05:6a20:431a:b0:18b:9093:ff13 with SMTP id h26-20020a056a20431a00b0018b9093ff13mr33340770pzk.52.1701392333365; Thu, 30 Nov 2023 16:58:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392333; cv=pass; d=google.com; s=arc-20160816; b=O+wOgq7WQbu/mIAVWUJyVnCgHg0JmzbkLAcAVc7eGHorzuWz/xL0je/Uy5MSYr89FH uFHnu+IGssePIC42WS9oZWIRYfn6jZkdYLqxdeMMz/RvdsEWUau4GtU39sJKVXzG1DWN XETuCOZkcwqhzr9OM8t6v1Vvw/eRxooEw41xqXhZxMY5B6dYFy5wqjfpmWaLXTrQYQki HirijGwLIp6q/R/teMnM8B+FMt7Wb8mjHkOPRvDSMbrFq4zSYddqD2AnSJbWtbVJ/tNR 7133QlnN5tPKOWNhPVELasJ4lHsOPeoqYj3KqbqhVSKWQv/5lWr14vRm7cQhndkmzACq QtRw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=iXqLQiptGdq0u69FqCIQ5viLyj6+zq4egR6HyqAZDsk=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=JeYD/oHS1L5SLpf/GETSMAJeqdQYDMPsGjOEfNP5qVas3sMzd251dPizzIroC7xv6L hBuWzvhMRkb9Nn+SIGwR8PgJ7TdNibLHuMyI9WPI0UHHz0MP6mKLBMyX0MsgqUEpuXZT oQ///s3KlReD0VC+a3ANOuGOA/HFRYwwnYBLhV5NkJYgSn+Wyw7xlRsBfmxo2S2Xr+G0 6H1H5yfSaqDHedw9m4X5ZGtltrafuPZrHaRHEwiOA6+VdUFsv3fByYLhHKey2jMGNt8q QZ+J2S5Om0RiMrlNU3U+7lS8F8RqVrfDZ2gHJ/Z/8aTqdNTphtqx54HoEP7H2n1gQsDh c8qA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=FwclH2C+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id r5-20020a632045000000b005c1c489bfc6si2420218pgm.627.2023.11.30.16.58.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=FwclH2C+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id C002180DF26E; Thu, 30 Nov 2023 16:58:51 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376818AbjLAA6h (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232464AbjLAA6R (ORCPT ); Thu, 30 Nov 2023 19:58:17 -0500 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2067.outbound.protection.outlook.com [40.107.92.67]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D5641BCD; Thu, 30 Nov 2023 16:57:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HujtYr3YHCVJAsSXRBdWLMEHbZ2kjgk2qXwjJ5F2jSCbcUWcuv1n96VpKMzh15KEANhj8AYlbfDfFs4VTmQ+Pb+REsV+0bc1O1BJ7aaRCoMPH80NgPyB98YHFKq5I+Bxe94h6mB8rkHKQWhlaFbIQeJeLZ0NBxhStcHg8KpdYWR5aZdUQAPCc/BkkzJ6Uww025k3WnOKfTQj5y3WOjTQLduul7ej4vS4wWV3xdugTOLODpnKdVVnGMIK3a9+kJlpEW0z1FTZ47fOb731Cecl5WdQAJ0/1cP+E40jS+0QLrkA0hj7uPE3r+jj3pzjB/IC6bLy43CPE7EtuloZpH4+FA== 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=iXqLQiptGdq0u69FqCIQ5viLyj6+zq4egR6HyqAZDsk=; b=JNURBV781gWtV8GnmJXQFBgvylYNCXT9ijb9vzj5w4q7QaNCsjmjmq235fjnmkkL82lsG3DkP878VrYnXvEphG3ZduuTK3VH/4BxZQP2d6/Vp9dUluJd8UXgUCRfN8uhRIZBQ+4iiGEjO7w3ik4VTrWihLDAOHkX4X5/Cf+Q850nGFqnWzInFASzchYe6/RQtD9IpHssCyyENa2fKUuDfT/5DiHCESWe98NHkYPIl/ZnwjtrB1sAOP4EQs8rZzp3ZDDDMj+F1yt3ZM9O5+wznckJf/3TL+EzpXIxIB9MXe7IzBQWEFQ3aUYNgawUzaottJURArH/OyATfWy0emtfbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=iXqLQiptGdq0u69FqCIQ5viLyj6+zq4egR6HyqAZDsk=; b=FwclH2C+5Kt+1Iaq+wNt8+x8FdUJL4GN+mW9jyqxA4wdq/RWwU+Cozq4AMePqGQIiy0rZHeE7SUEgLj9gvkyh0o8p4FS8osduL13/plMBY+fVMZOz0dDxGG9nwO8VX1BNqXVuh9f9JU8YhLZvktcPn9N7Do/8+INXCE28PKzIok= Received: from PH8PR05CA0008.namprd05.prod.outlook.com (2603:10b6:510:2cc::19) by MN2PR12MB4205.namprd12.prod.outlook.com (2603:10b6:208:198::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Fri, 1 Dec 2023 00:57:51 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:510:2cc:cafe::6d) by PH8PR05CA0008.outlook.office365.com (2603:10b6:510:2cc::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13 via Frontend Transport; Fri, 1 Dec 2023 00:57:50 +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 SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:50 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:48 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 14/15] x86/resctrl: Add interface unassign a ABMC counter Date: Thu, 30 Nov 2023 18:57:19 -0600 Message-ID: <20231201005720.235639-15-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A3:EE_|MN2PR12MB4205:EE_ X-MS-Office365-Filtering-Correlation-Id: 54753559-3f1f-478b-6e24-08dbf2088abd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0YOkHGvZ+7nKV1WeXVOc+rnBYE+miy6RJ2Ve9MfyAioLcqXSK5TMWolBtZ0iSKArnAtCT5wevFBSbVSDmuZ+uKmFSSO4sN1NGzSJDowGd/qR6hMlhT6umC7vaGSKbW+wT+Db1NgjeymoKAKH5AALyelr/EH1MR9yIIlfepKy/f8Lbo7iJixf/34lX3UeiztuRl1f1KCoGrLcvY71u4vVCEj+zeGz09y3VgdWXtqKrq0CZe25fbMcQTEiJJ7liePVvyVx4DBynG7pQpcER4unV4t8vBmGBAHvHAf9W3pWOt/sn/AIgxHtHqDLBZTA5pAJbjpKvJukLyK1DN3OddipQEYf37PfjXcNnCVhJimB7QlGxS4CGkXJqKTCUHNHxX+Ch7bvtzhSJSHl0UL6M5K8+pm3DvGSf1rC/XvpaiP1b26A4ZdeUziJGEefXGGjBSachqoXRDjlBl6jbeUY5K1jFRV6UOJoQpUNA/oq39K5vSiZC8XaLbw8TpM1H1xtNEqvIFWpzgk/NbqQCbYwoOFhkI7NYkjU407fm9AJIwXilPbGuOaERkyIBxjwNJObdXQ5Xz1NDJVhwVQqHOFGC9A5ttnLhbHtmxJo5608NBbQtylFXdyl7r3VTEap7UHvMYfGAua22+EiE6JPq6NwnPnqjHtooa3aA/DADOj0bWILWYr9egOh6EOXkCYPCHhgM+sRYNDDFWubvEcQdUwHKBDFDDCJK3xH4Q0kpwn23f7BYJoZtpue4LUuFmBINeo9KBTCjNfNQULXzkoiDKjyS7gsMg== 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)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(1800799012)(186009)(82310400011)(451199024)(64100799003)(36840700001)(40470700004)(46966006)(40480700001)(40460700003)(478600001)(2616005)(1076003)(336012)(26005)(6666004)(47076005)(7696005)(36860700001)(81166007)(356005)(82740400003)(36756003)(70206006)(5660300002)(54906003)(16526019)(44832011)(41300700001)(70586007)(426003)(7416002)(2906002)(4326008)(316002)(8676002)(110136005)(86362001)(8936002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:50.3762 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54753559-3f1f-478b-6e24-08dbf2088abd 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: SN1PEPF000252A3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4205 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:51 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039167366640641 X-GMAIL-MSGID: 1784039167366640641 With the support of ABMC (Assignable Bandwidth Monitoring Counters) feature, the user has the option to pin (or assign) or unpin (or unassign) the RMID to hardware counter and monitor the bandwidth for the longer duration. Provide the interface to unpin (or unassign) the counter. Signed-off-by: Babu Moger --- Documentation/arch/x86/resctrl.rst | 11 ++++++++ arch/x86/kernel/cpu/resctrl/rdtgroup.c | 36 ++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/Documentation/arch/x86/resctrl.rst b/Documentation/arch/x86/resctrl.rst index 65306e7d01b6..b42b59a7ba3c 100644 --- a/Documentation/arch/x86/resctrl.rst +++ b/Documentation/arch/x86/resctrl.rst @@ -417,6 +417,17 @@ When monitoring is enabled all MON groups will also contain: # echo total=assign > /sys/fs/resctrl/monitor_state # echo total=assign;local=assign > /sys/fs/resctrl/monitor_state + The user needs to unpin (or unassign) counter to release it. + Example:: + + # echo total=unassign > /sys/fs/resctrl/monitor_state + # cat /sys/fs/resctrl/monitor_state + total=unassign;local=assign + + # echo total=unassign;local=unassign > /sys/fs/resctrl/monitor_state + # cat /sys/fs/resctrl/monitor_state + total=unassign;local=unassign + "mon_hw_id": Available only with debug option. The identifier used by hardware for the monitor group. On x86 this is the RMID. diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 671ff732992c..6eca47673344 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -192,6 +192,11 @@ static int abmc_counters_alloc(void) return counterid; } +void abmc_counters_free(int counterid) +{ + abmc_free_map |= 1 << counterid; +} + /** * rdtgroup_mode_by_closid - Return mode of resource group with closid * @closid: closid if the resource group @@ -1671,6 +1676,31 @@ static ssize_t rdtgroup_assign_abmc(struct rdtgroup *rdtgrp, return 0; } +static ssize_t rdtgroup_unassign_abmc(struct rdtgroup *rdtgrp, + struct rdt_resource *r, + u32 evtid, int mon_state) +{ + struct rdt_domain *d; + int index; + + index = mon_event_config_index_get(evtid); + if (index == INVALID_CONFIG_INDEX) { + pr_warn_once("Invalid event id %d\n", evtid); + return -EINVAL; + } + + if (rdtgrp->mon.monitor_state & mon_state) { + list_for_each_entry(d, &r->domains, list) + rdtgroup_abmc_domain(d, rdtgrp, evtid, index, 0); + + abmc_counters_free(rdtgrp->mon.abmc_ctr_id[index]); + } + + rdtgrp->mon.monitor_state &= ~mon_state; + + return 0; +} + /** * rdtgroup_monitor_state_write - Modify the resource group's assign * @@ -1716,6 +1746,12 @@ static ssize_t rdtgroup_monitor_state_write(struct kernfs_open_file *of, rdt_last_cmd_puts("ABMC assign failed\n"); break; } + } else if (!strcmp(abmc_str, "unassign")) { + ret = rdtgroup_unassign_abmc(rdtgrp, r, evtid, mon_state); + if (ret) { + rdt_last_cmd_puts("ABMC unassign failed\n"); + break; + } } else { rdt_last_cmd_puts("Invalid ABMC event\n"); ret = -EINVAL; From patchwork Fri Dec 1 00:57:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Moger, Babu" X-Patchwork-Id: 172209 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp793203vqy; Thu, 30 Nov 2023 16:58:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IG9HDORxFHwBUnECUwhyJPR+fPCwDTNMcmU6RGBYzC/Yjkp4waFme3mcc65GNRuR/Ew6rk1 X-Received: by 2002:a05:6870:6245:b0:1f9:e945:32f7 with SMTP id r5-20020a056870624500b001f9e94532f7mr25870142oak.35.1701392335172; Thu, 30 Nov 2023 16:58:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701392335; cv=pass; d=google.com; s=arc-20160816; b=z0u88KptpOR7oEWBMGumqMcqLu+Xeg5EsVFk7DhBUR3rx+ZHq+780Xbs9knPs6RCUi cd8fFLtD7Rpqu94iou0Ns0yg2aB9plYkga4mgQy0KSuSI+7JiJpoSRE59WjarrrHCmMu x0eF+oB4iAExGpkdex8SJErzOMXf4OXiFpOmLAyyJl7EnJLmzKqTzfI7iBjWHv+4b+xD 0ptBoSdnpS2NpF9+s1o9JlALkP1ZTIryMg8K5qgq+Puow4wkqUwNq2MDsbF0XrG1zPy3 NvRnLMRwBVQkt9i/pptSQCaAI8AmTlMQ3wh1aLECEhWZPeIuz3mzchcemo0xrmqjkaNJ FRGQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=1geK9kaDb6x1MgaVo0VEehzktdpkHZJQWPtIZJAflmM=; fh=EzIPwuN7XPVC8G8SnRL5+FJ4TCMLPoV2JVVwV/H/kM4=; b=ueSrXGDDNtSx27ESTqW3ywNViiNq+l82OcFg+YnXo0/NRvA/bQS0ivOho3za6SqvRz /I2N5wKNN2BcTJGUp3uQV+kKMJVFSyzyGckh8P410YU9b+8RktI0hReItxbrI1ApGwwo IrUM35Phr0CvtdOSeOtq7JWVfTUvjrJDcT2PkemvxxuSxUDBAXav5v5zJaNIlZeCDL9q q0c2oAmbBfO6xfhdScUJtWt8cXYtnpzeMfLvGsYsRl7JPHifrRg3urrE9izdkAeh3SPC HWBIMQAa4YuZjOBGsxaPwkq9mZ2AgQuYA3k1JicA9cbf9ePpiLlCIdDqqGJteokvqGNi n59g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="EicvuN/k"; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id p188-20020a6342c5000000b005be27346472si2260680pga.582.2023.11.30.16.58.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 16:58:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b="EicvuN/k"; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0F30C80DF268; Thu, 30 Nov 2023 16:58:54 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377055AbjLAA6k (ORCPT + 99 others); Thu, 30 Nov 2023 19:58:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58074 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232469AbjLAA6R (ORCPT ); Thu, 30 Nov 2023 19:58:17 -0500 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2071.outbound.protection.outlook.com [40.107.243.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D6E71BCA; Thu, 30 Nov 2023 16:57:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B1BoIGvtF/uFj7tzTU0vhQh4fyLyYy6Gef2FjVzhDHLUHjTJeBeeYvxocojHQLGNIXzwgyLKn826q8o6BW8z8xJAXLqPTp9cIKJ5C1SO41+wUHcsoD/8BTpbjCUO12qRwlz2/NGfneTnADRP8Q0bJmuciMVdGpKN1Ge56ucQbsXyiokxBQJz4jYDxHIfYTE9MwuOHfee1tRhEDbKoqGLp8+wQ1NJpcr5o5uqN1L4BSllZJjrCA2T2gjHYJsYdgRDldIpdHoJyD7KVY6NNQdfptAAbYGn347oSBO5rtZzM21HzF4H+VVxS1dDjmca+YVoAe2KNkdtxK/9yKOnrB3O0w== 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=1geK9kaDb6x1MgaVo0VEehzktdpkHZJQWPtIZJAflmM=; b=RZPH7aC3ih70T7b1Z9PVjzzEfVVoIGGbMvlQmEeqhrid6cMtmyjpYyG968UGbRSP0oUltc8M0YUvLncyXlmkJvaI6AAE6e+EQmY4XLw446BVZ2YLDxnLSIrBWHcPb8oGDZABsRt3oqq5eFahmE92vIVrhl5vN6JmNldiEOYQO1jmfMi8C9tJ9zZk9xdOJ2xLhHQCKQ+ahqu90GW6D+otBu+og9vbbouPjZWWkFG4yv8YkNU3owrZVNyqi84tmthUYxsPM940UfX61ocmb4qeUciQoHKk1jUSRxKL2w1NBxbI4LcNxRGSvFgUzCnzP+Y1FxrEBh/+4ExSKhOybRl9wA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lwn.net 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=1geK9kaDb6x1MgaVo0VEehzktdpkHZJQWPtIZJAflmM=; b=EicvuN/k88zxeg2I3LNE+H86ULowWBaierGfSNipIcHRg1EONxkRPGD+eGDic0ZrxNyftQtuf5xBC97G9pUgbw1bFliwMK86bFUcDaChK9SExNnyM2bIL5JoKNscoa0Y4PzWXSJWasOmNGk0tyXUT1wXyhMgoREswiTSzwE8RfY= Received: from BN0PR08CA0020.namprd08.prod.outlook.com (2603:10b6:408:142::8) by DS7PR12MB6095.namprd12.prod.outlook.com (2603:10b6:8:9c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Fri, 1 Dec 2023 00:57:52 +0000 Received: from SN1PEPF000252A2.namprd05.prod.outlook.com (2603:10b6:408:142:cafe::74) by BN0PR08CA0020.outlook.office365.com (2603:10b6:408:142::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend Transport; Fri, 1 Dec 2023 00:57:51 +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 SN1PEPF000252A2.mail.protection.outlook.com (10.167.242.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7046.17 via Frontend Transport; Fri, 1 Dec 2023 00:57:51 +0000 Received: from bmoger-ubuntu.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; Thu, 30 Nov 2023 18:57:49 -0600 From: Babu Moger To: , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH 15/15] x86/resctrl: Update ABMC assignment on event configuration changes Date: Thu, 30 Nov 2023 18:57:20 -0600 Message-ID: <20231201005720.235639-16-babu.moger@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231201005720.235639-1-babu.moger@amd.com> References: <20231201005720.235639-1-babu.moger@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A2:EE_|DS7PR12MB6095:EE_ X-MS-Office365-Filtering-Correlation-Id: b1a08a67-e0a4-4c02-d2f8-08dbf2088b9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SpjN8XXetD0smoW/X5soFA+yOo9YqQFZI+jFjQsmQi/qN3X6Cz+WJ9RJRo4cItzeShwLqDUZG6j1T341wjv8mwZ5GjZgjhPssMX9Vq3wkObFyr26083E+sWrVMjwPVKtA95Ao5fJLKPFJB/C9eYGzV2N6R0UjzMhH52ChyXmh/5SgNF/mlQryj+SkxiQ7cktYETP1kxz3HiiwRq5BkE+1xWMqir3KS9ku0648P7fzHTV8fFYKd9bsGyNy5GuSQJk4WplKaGIAU0ah+sia30OxVWNBTfAo43Njjgx/5DZ5ebVgrx0Y5lioO2Mx+z+/gKKXNMZHtduQlxEysMB0v96ev5fcvj2Y9b0CR2dEY0yL+EwQiUutrR65aU3fg761U6oBXgaSnD3+W3wSj10YKzKVQBR6Af6hjBl4q98UYOwbIJP1wbfulk+gWoIMMKFoqZX3N8mYMA4XmmQ5HQiUG4SkTokSeWqe8vsbr80FABSiq9VRVeZ1u2AohTdw5HHl4EC/chpiA+UENotKS2Q68CWWAfM4EM+KxKe8YrhaRFOxn9ZZzOKzTmBJ/nFHZ39gjLq8H8NJ9QSHLltut7dz8CIcNkqjh0gUDcYAySeORrDRuQzppiZKccQs5E2+ihEbPLQDJjEY2wFTq0gsSe7b23jVnbX4FriFj/OS/So43pFselCow2iTrPxpncFI9G8H0NFgQZI/RofNsNX2HDHBly7+axVivEN6t5NX5gyiUgYfWFhvux8JsUU7rWSvZnyC7TMZJ1B1UpZmdDtJzUdG80cAA== 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)(136003)(396003)(346002)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(40470700004)(36840700001)(86362001)(40460700003)(83380400001)(26005)(1076003)(6666004)(7696005)(2616005)(47076005)(426003)(36860700001)(478600001)(44832011)(7416002)(8936002)(5660300002)(8676002)(41300700001)(336012)(2906002)(110136005)(966005)(16526019)(4326008)(316002)(15650500001)(81166007)(70206006)(70586007)(54906003)(36756003)(356005)(82740400003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2023 00:57:51.8402 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b1a08a67-e0a4-4c02-d2f8-08dbf2088b9c 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: SN1PEPF000252A2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6095 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 30 Nov 2023 16:58:54 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784039169384841365 X-GMAIL-MSGID: 1784039169384841365 When ABMC (Assignable Bandwidth Monitoring Counters) feature is enabled, bandwidth events can be read in following methods. 1. The contents of a specific counter can be read by setting the following fields in QM_EVTSEL: [ExtendedEvtID]=1, [EvtID]=L3CacheABMC and setting [RMID] to the desired counter ID. Reading QM_CTR will then return the contents of the specified counter. The E bit will be set if the counter configuration was invalid, or if an invalid counter ID was set in the QM_EVTSEL[RMID] field. Supporting this method requires changes in rmid_read interface. 2. Alternatively, the contents of a counter may be read by specifying an RMID and setting the [EvtID] to L3BWMonEvtn where n= {0,1}. If an assignable bandwidth counter is monitoring that RMID with a BwType bitmask that matches a QOS_EVT_CFG_n, that counter’s value will be returned when reading QM_CTR. However, if multiple counters have the same configuration, QM_CTR will return the value of the counter with the lowest CtrID. Method 2 is supported in here. For the ABMC counter assignment to work, the assignment needs to be updated to match BwType to the contents of the MSR QOS_EVT_CFG_n. So, update the ABMC assignment when event configuration changes. The feature details are available in APM listed below [1]. [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming Publication (ABMC). Signed-off-by: Babu Moger Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 --- arch/x86/kernel/cpu/resctrl/rdtgroup.c | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c index 6eca47673344..11890b4afb9f 100644 --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -1768,6 +1768,38 @@ static ssize_t rdtgroup_monitor_state_write(struct kernfs_open_file *of, return ret ?: nbytes; } +static void rdtgroup_update_abmc(struct rdt_resource *r, + struct rdt_domain *d, u32 evtid) +{ + struct rdtgroup *prgrp, *crgrp; + int index, mon_state; + + if (evtid == QOS_L3_MBM_TOTAL_EVENT_ID) + mon_state = TOTAL_ASSIGN; + else + mon_state = LOCAL_ASSIGN; + + index = mon_event_config_index_get(evtid); + if (index == INVALID_CONFIG_INDEX) { + pr_warn_once("Invalid event id %d\n", evtid); + return; + } + + /* + * Update the assignment for all the monitor groups if the group + * is configured with ABMC assignment. + */ + list_for_each_entry(prgrp, &rdt_all_groups, rdtgroup_list) { + if (prgrp->mon.monitor_state & mon_state) + rdtgroup_abmc_domain(d, prgrp, evtid, index, 1); + + list_for_each_entry(crgrp, &prgrp->mon.crdtgrp_list, mon.crdtgrp_list) { + if (crgrp->mon.monitor_state & mon_state) + rdtgroup_abmc_domain(d, crgrp, evtid, index, 1); + } + } +} + static void mon_event_config_read(void *info) { struct mon_config_info *mon_info = info; @@ -1852,6 +1884,7 @@ static void mon_event_config_write(void *info) static int mbm_config_write_domain(struct rdt_resource *r, struct rdt_domain *d, u32 evtid, u32 val) { + struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r); struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d); struct mon_config_info mon_info = {0}; int ret = 0; @@ -1892,6 +1925,13 @@ static int mbm_config_write_domain(struct rdt_resource *r, else goto out; + /* + * Event configuration changed for the domain, so Update + * the ABMC assignment. + */ + if (hw_res->abmc_enabled) + rdtgroup_update_abmc(r, d, evtid); + /* * When an Event Configuration is changed, the bandwidth counters * for all RMIDs and Events will be cleared by the hardware. The