From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C1F0F3C10AC for ; Fri, 10 Jul 2026 11:56:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783684565; cv=none; b=K78J7f1HhoXRbKNtJsQnXsdinECWTiCtXKOjck3yr/mIxsjPVKXSdIEsIeRTQpucWEo06/ya4F4iSiIIsausOyxaQuk7WEJRMoRMoG53h2M6M5hyhGs6ywavkU0PzWWOFRzP3WKvMgB3x9zhsbRZBZQKnaa7ksCYSjiItylkDkk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783684565; c=relaxed/simple; bh=I4vJiufkwm3UxjfxEwPYp8LeYjs7wS4m10Y5eB12CDg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=FbVP41y9S4DcbDWNw5NKB/3XC3FQFpyDkvXWUfixq4rlUFrUvCOTi4ocoExtUenyD9avKjNNGCvgivxxfoEgQJskJUKiXxJ6UfUogqMoyNSulhNyBtSNHHpoRj0E7dr5ReZTzr89rMaiuslu2s0DH4ZNy5OEROJxjaUbZzVRuLM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=SJpXHIfj; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="SJpXHIfj" 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 100541E7D; Fri, 10 Jul 2026 04:55:52 -0700 (PDT) Received: from e134344.cambridge.arm.com (e134344.arm.com [10.2.212.8]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1C71D3F85F; Fri, 10 Jul 2026 04:55:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1783684556; bh=I4vJiufkwm3UxjfxEwPYp8LeYjs7wS4m10Y5eB12CDg=; h=From:To:Cc:Subject:Date:From; b=SJpXHIfjjq6OYDIN+OOAQ64vIyIkzlPoqZpUkmj3Lcq+Eaegz7q4tT6flXqoES+g0 2zt+ngttNA0qvs1Cl8NfJSfSuOGixsgRTfFCmvvrjPZpsQVGZkbzY1aFggEa4VJPOv HUwPDjMY84lgEuw8uuD5T3qB2n8jrOVseZKZnhSQ= From: Ben Horgan To: ben.horgan@arm.com Cc: james.morse@arm.com, reinette.chatre@intel.com, fenghuay@nvidia.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dave.martin@arm.com, andre.przywara@arm.com Subject: [PATCH v1 00/11] arm_mpam: minor fixes at v7.2 Date: Fri, 10 Jul 2026 12:55:34 +0100 Message-ID: <20260710115546.29644-1-ben.horgan@arm.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This is a bunch of small fixes for hypothetical problems in the driver. They were found by a mixture of messing around with a software model, inspection and llm review. The first two patches ensure the error interrupt isn't accidentally disabled when register state is lost. Patch 3 keeps the feature accounting correct but has no functional change. Patches 4 to 7 fix mbwu save/restore but this is not relied on as we plan to just use resctrl assigned counters and these are unassigned when a domain goes offline. Also, MSC afffinity of a region smaller than a resctrl domain has not been seen. Patch 8 makes read_mon_cdp_safe() behaviour the same for cdp_enabled and not. Patch 9 fixes an infinite loop in a system using all the PARTIDs which is much bigger than anything than anything I've seen. Patch 10 stops some allocations failing on similiarly big systems. Based on v7.2-rc2 Ben Horgan (11): arm_mpam: Move MPAMF_ECR write helpers to allow reuse arm_mpam: Restore the error interrupt enable from mpam_cpu_online() arm_mpam: Set mpam_feat_msmon_mbwu_31counter when there are bandwidth counters arm_mpam: Add missing mon_sel locking in MBWU restore arm_mpam: Ensure MBWU counters are reset on restore arm_mpam: Use __ris_msmon_read() for saving MBWU state arm_mpam: Initialize all of struct mon_read in mpam_restore_mbwu_state() arm_mpam: resctrl: Correct check that existing class is L3 arm_mpam: resctrl: Make read_mon_cdp_safe() self consistent arm_mpam: Don't loop forever if there is the maximum possible amount of PARTIDs arm_mpam: Switch to kvzmalloc_objs() for allocation of component cfg drivers/resctrl/mpam_devices.c | 124 ++++++++++++++++++++------------- drivers/resctrl/mpam_resctrl.c | 4 +- 2 files changed, 76 insertions(+), 52 deletions(-) -- 2.43.0