Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp815330pxb; Tue, 12 Apr 2022 14:13:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzgU7aVaGJRMcd4e/YSN/8H6EUVTnbkju4wsIXH4jLG7dqK9SywqTy6sP0PJKewITE+Wqvw X-Received: by 2002:a63:e307:0:b0:39c:ce49:f1ae with SMTP id f7-20020a63e307000000b0039cce49f1aemr22791709pgh.174.1649797984405; Tue, 12 Apr 2022 14:13:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649797984; cv=none; d=google.com; s=arc-20160816; b=tOAAQvTofpXJMSOMgGmquU2Rc8KlRYs6aeH1KoLyycrh9qbwdpAoXhWJ9oMv3W2kB6 fsQeWh0s4gg9UEw5D0rQwXpB5xyr7Vuz63X41Z5lmETjupRrY1NxxsGL3eHa9iOVHLCM OaildBX4z877OKx6oL+z86m6ZAwFGWo+t/Tqwpuybrzt77KM5FrsQcZjeD6Aw8xeDb7D ho846pPLwlFRLcw4C/1PT8/tT91ItCtuRDwEP+Mq+Ztff6IQdST3S8GFGYuScXYW/L6G 9DTjQ2T3BFAUuQxO6M4XKDoNNESobI5LK4mevIce5OqmXyRPGnMWM0sdDjzXMptgcIqV MAyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=nvzDdr6KW/MDQIGGe+WmkazU9NDt3Crxp2xGbTBUz7Y=; b=HXPTzypBmoxvcyQzU8SiwHtJSfPkzlPPi9girpLEXORBJUad4Q+z1+JxnizuPxsMxa rG4dEe8h6vbM6llW28bjg4tCrWl5iSin52pvs0OvAEFr4lAQSg8R856iIi0h6iXwxM0J iZhfADpL6KAxoUoK1/0LElie9nWAqwK7K7MjdiR+rLFZ18g5hwSNDZEL2s2qgpQYcuvE Qm/7zBY0d2gRdNLd+BFpuouW2+26UmVucSmP2Jq+zaPM1d9tfkHf7zzIcrezhNA94qhy xNF7c9krwXvOhQPIOKThgeaRpmf93CkfPMJtNvGMozCVI0WN+0b1fEohxLdCTN4HTVam TDUA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id i3-20020a170902c94300b001587c5cb158si5113986pla.22.2022.04.12.14.13.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 14:13:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0C824E9C8D; Tue, 12 Apr 2022 13:28:34 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355158AbiDLNFq (ORCPT + 99 others); Tue, 12 Apr 2022 09:05:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356273AbiDLNDX (ORCPT ); Tue, 12 Apr 2022 09:03:23 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E95096C48A for ; Tue, 12 Apr 2022 05:44:30 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 975AD150C; Tue, 12 Apr 2022 05:44:30 -0700 (PDT) Received: from merodach.members.linode.com (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 445143F70D; Tue, 12 Apr 2022 05:44:28 -0700 (PDT) From: James Morse To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: Fenghua Yu , Reinette Chatre , Thomas Gleixner , Ingo Molnar , Borislav Petkov , H Peter Anvin , Babu Moger , James Morse , shameerali.kolothum.thodi@huawei.com, D Scott Phillips OS , lcherian@marvell.com, bobo.shaobowang@huawei.com, tan.shaopeng@fujitsu.com, Jamie Iles , Cristian Marussi , Xin Hao , xingxin.hx@openanolis.org, baolin.wang@linux.alibaba.com Subject: [PATCH v4 00/21] x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes Date: Tue, 12 Apr 2022 12:43:58 +0000 Message-Id: <20220412124419.30689-1-james.morse@arm.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_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 Changes in this version? * Fixed the problems with mon_capable preventing mbps_val[] being allocated on the correct resources. * Fixed initialisation of ctrl_val[] to ~0 when mba_sc is selected. * Assorted style fixes. --- The aim of this series is to insert a split between the parts of the monitor code that the architecture must implement, and those that are part of the resctrl filesystem. The eventual aim is to move all filesystem parts out to live in /fs/resctrl, so that resctrl can be wired up for MPAM. What's MPAM? See the cover letter of a previous series. [1] The series adds domain online/offline callbacks to allow the filesystem to manage some of its structures itself, then moves all the 'mba_sc' behaviour to be part of the filesystem. This means another architecture doesn't need to provide an mbps_val array. As its all software, the resctrl filesystem should be able to do this without any help from the architecture code. Finally __rmid_read() is refactored to be the API call that the architecture provides to read a counter value. All the hardware specific overflow detection, scaling and value correction should occur behind this helper. This series is based on v5.18-rc1, and can be retrieved from: git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/resctrl_monitors_in_bytes/v4 [0] git://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/resctrl_merge_cdp/v7 [1] https://lore.kernel.org/lkml/20210728170637.25610-1-james.morse@arm.com/ [v1] https://lore.kernel.org/lkml/20210729223610.29373-1-james.morse@arm.com/ [v2] https://lore.kernel.org/lkml/20211001160302.31189-1-james.morse@arm.com/ [v3] https://lore.kernel.org/lkml/20220217182110.7176-1-james.morse@arm.com/ James Morse (21): x86/resctrl: Kill off alloc_enabled x86/resctrl: Merge mon_capable and mon_enabled x86/resctrl: Add domain online callback for resctrl work x86/resctrl: Group struct rdt_hw_domain cleanup x86/resctrl: Add domain offline callback for resctrl work x86/resctrl: Remove set_mba_sc()s control array re-initialisation x86/resctrl: Create mba_sc configuration in the rdt_domain x86/resctrl: Switch over to the resctrl mbps_val list x86/resctrl: Remove architecture copy of mbps_val x86/resctrl: Abstract and use supports_mba_mbps() x86/resctrl: Allow update_mba_bw() to update controls directly x86/resctrl: Calculate bandwidth from the previous __mon_event_count() chunks x86/resctrl: Add per-rmid arch private storage for overflow and chunks x86/resctrl: Allow per-rmid arch private storage to be reset x86/resctrl: Abstract __rmid_read() x86/resctrl: Pass the required parameters into resctrl_arch_rmid_read() x86/resctrl: Move mbm_overflow_count() into resctrl_arch_rmid_read() x86/resctrl: Move get_corrected_mbm_count() into resctrl_arch_rmid_read() x86/resctrl: Rename and change the units of resctrl_cqm_threshold x86/resctrl: Add resctrl_rmid_realloc_limit to abstract x86's boot_cpu_data x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes arch/x86/kernel/cpu/resctrl/core.c | 117 ++++------- arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 75 +++++--- arch/x86/kernel/cpu/resctrl/internal.h | 61 +++--- arch/x86/kernel/cpu/resctrl/monitor.c | 224 ++++++++++++++-------- arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 2 +- arch/x86/kernel/cpu/resctrl/rdtgroup.c | 212 ++++++++++++++++---- include/linux/resctrl.h | 64 ++++++- 7 files changed, 493 insertions(+), 262 deletions(-) -- 2.30.2