All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gavin Shan <gshan@redhat.com>
To: Ben Horgan <ben.horgan@arm.com>
Cc: amitsinght@marvell.com, baisheng.gao@unisoc.com,
	baolin.wang@linux.alibaba.com, carl@os.amperecomputing.com,
	dave.martin@arm.com, david@kernel.org, dfustini@baylibre.com,
	fenghuay@nvidia.com, james.morse@arm.com,
	jonathan.cameron@huawei.com, kobak@nvidia.com,
	lcherian@marvell.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, peternewman@google.com,
	punit.agrawal@oss.qualcomm.com, quic_jiles@quicinc.com,
	reinette.chatre@intel.com, rohit.mathew@arm.com,
	scott@os.amperecomputing.com, sdonthineni@nvidia.com,
	tan.shaopeng@fujitsu.com, xhao@linux.alibaba.com,
	catalin.marinas@arm.com, will@kernel.org, corbet@lwn.net,
	maz@kernel.org, oupton@kernel.org, joey.gouly@arm.com,
	suzuki.poulose@arm.com, kvmarm@lists.linux.dev,
	zengheng4@huawei.com, linux-doc@vger.kernel.org,
	Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Subject: Re: [PATCH v6 37/40] arm_mpam: Add workaround for T241-MPAM-4
Date: Tue, 24 Mar 2026 14:19:31 +1000	[thread overview]
Message-ID: <48fdab87-7caa-4e84-803f-3fbad3dd306b@redhat.com> (raw)
In-Reply-To: <20260313144617.3420416-38-ben.horgan@arm.com>

On 3/14/26 12:46 AM, Ben Horgan wrote:
> From: Shanker Donthineni <sdonthineni@nvidia.com>
> 
> In the T241 implementation of memory-bandwidth partitioning, in the absence
> of contention for bandwidth, the minimum bandwidth setting can affect the
> amount of achieved bandwidth. Specifically, the achieved bandwidth in the
> absence of contention can settle to any value between the values of
> MPAMCFG_MBW_MIN and MPAMCFG_MBW_MAX.  Also, if MPAMCFG_MBW_MIN is set
> zero (below 0.78125%), once a core enters a throttled state, it will never
> leave that state.
> 
> The first issue is not a concern if the MPAM software allows to program
> MPAMCFG_MBW_MIN through the sysfs interface. This patch ensures program
> MBW_MIN=1 (0.78125%) whenever MPAMCFG_MBW_MIN=0 is programmed.
> 
> In the scenario where the resctrl doesn't support the MBW_MIN interface via
> sysfs, to achieve bandwidth closer to MBW_MAX in the absence of contention,
> software should configure a relatively narrow gap between MBW_MIN and
> MBW_MAX. The recommendation is to use a 5% gap to mitigate the problem.
> 
> Clear the feature MBW_MIN feature from the class to ensure we don't
> accidentally change behaviour when resctrl adds support for a MBW_MIN
> interface.
> 
> Tested-by: Gavin Shan <gshan@redhat.com>
> Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
> Reviewed-by: Zeng Heng <zengheng4@huawei.com>
> Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
> Reviewed-by: Fenghua Yu <fenghuay@nvidia.com>
> Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
> Signed-off-by: James Morse <james.morse@arm.com>
> Signed-off-by: Ben Horgan <ben.horgan@arm.com>
> ---
> [ morse: Added as second quirk, adapted to use the new intermediate values
> in mpam_extend_config() ]
> 
> Changes since rfc:
> MPAM_IIDR_NVIDIA_T421 -> MPAM_IIDR_NVIDIA_T241
> Handling when reset_mbw_min is set
> 
> Changes since v3:
> Move the 5% gap policy back here
> Clear mbw_min feature in class
> 
> Changes since v5:
> Calculate min from max when resetting
> ---
>   Documentation/arch/arm64/silicon-errata.rst |  2 +
>   drivers/resctrl/mpam_devices.c              | 55 +++++++++++++++++++--
>   drivers/resctrl/mpam_internal.h             |  1 +
>   3 files changed, 55 insertions(+), 3 deletions(-)
> 

Reviewed-by: Gavin Shan <gshan@redhat.com>



  reply	other threads:[~2026-03-24  4:19 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-13 14:45 [PATCH v6 00/40] arm_mpam: Add KVM/arm64 and resctrl glue code Ben Horgan
2026-03-13 14:45 ` [PATCH v6 01/40] arm_mpam: Ensure in_reset_state is false after applying configuration Ben Horgan
2026-03-17 17:22   ` Jonathan Cameron
2026-03-23  4:37   ` Gavin Shan
2026-03-27 15:42   ` James Morse
2026-03-13 14:45 ` [PATCH v6 02/40] arm_mpam: Reset when feature configuration bit unset Ben Horgan
2026-03-23  4:44   ` Gavin Shan
2026-03-27 16:21   ` James Morse
2026-03-13 14:45 ` [PATCH v6 03/40] arm64/sysreg: Add MPAMSM_EL1 register Ben Horgan
2026-03-13 14:45 ` [PATCH v6 04/40] KVM: arm64: Preserve host MPAM configuration when changing traps Ben Horgan
2026-03-13 14:45 ` [PATCH v6 05/40] KVM: arm64: Make MPAMSM_EL1 accesses UNDEF Ben Horgan
2026-03-13 14:45 ` [PATCH v6 06/40] arm64: mpam: Context switch the MPAM registers Ben Horgan
2026-03-13 14:45 ` [PATCH v6 07/40] arm64: mpam: Re-initialise MPAM regs when CPU comes online Ben Horgan
2026-03-13 14:45 ` [PATCH v6 08/40] arm64: mpam: Drop the CONFIG_EXPERT restriction Ben Horgan
2026-03-27 15:43   ` James Morse
2026-03-13 14:45 ` [PATCH v6 09/40] arm64: mpam: Advertise the CPUs MPAM limits to the driver Ben Horgan
2026-03-13 14:45 ` [PATCH v6 10/40] arm64: mpam: Add cpu_pm notifier to restore MPAM sysregs Ben Horgan
2026-03-13 14:45 ` [PATCH v6 11/40] arm64: mpam: Initialise and context switch the MPAMSM_EL1 register Ben Horgan
2026-03-27 15:44   ` James Morse
2026-03-13 14:45 ` [PATCH v6 12/40] arm64: mpam: Add helpers to change a task or cpu's MPAM PARTID/PMG values Ben Horgan
2026-03-13 14:45 ` [PATCH v6 13/40] KVM: arm64: Force guest EL1 to use user-space's partid configuration Ben Horgan
2026-03-13 14:45 ` [PATCH v6 14/40] arm_mpam: resctrl: Add boilerplate cpuhp and domain allocation Ben Horgan
2026-03-23  6:31   ` Gavin Shan
2026-03-23 10:13     ` Ben Horgan
2026-03-26 12:20       ` James Morse
2026-03-13 14:45 ` [PATCH v6 15/40] arm_mpam: resctrl: Pick the caches we will use as resctrl resources Ben Horgan
2026-03-23  6:37   ` Gavin Shan
2026-03-13 14:45 ` [PATCH v6 16/40] arm_mpam: resctrl: Implement resctrl_arch_reset_all_ctrls() Ben Horgan
2026-03-23  6:41   ` Gavin Shan
2026-03-13 14:45 ` [PATCH v6 17/40] arm_mpam: resctrl: Add resctrl_arch_get_config() Ben Horgan
2026-03-23  6:47   ` Gavin Shan
2026-03-13 14:45 ` [PATCH v6 18/40] arm_mpam: resctrl: Implement helpers to update configuration Ben Horgan
2026-03-23  6:51   ` Gavin Shan
2026-03-13 14:45 ` [PATCH v6 19/40] arm_mpam: resctrl: Add plumbing against arm64 task and cpu hooks Ben Horgan
2026-03-23  6:55   ` Gavin Shan
2026-03-13 14:45 ` [PATCH v6 20/40] arm_mpam: resctrl: Add CDP emulation Ben Horgan
2026-03-23 22:35   ` Gavin Shan
2026-03-13 14:45 ` [PATCH v6 21/40] arm_mpam: resctrl: Hide CDP emulation behind CONFIG_EXPERT Ben Horgan
2026-03-18 11:04   ` Zeng Heng
2026-03-23 22:36   ` Gavin Shan
2026-03-27 15:44   ` James Morse
2026-03-13 14:45 ` [PATCH v6 22/40] arm_mpam: resctrl: Convert to/from MPAMs fixed-point formats Ben Horgan
2026-03-23 22:49   ` Gavin Shan
2026-03-27 15:47     ` James Morse
2026-03-13 14:46 ` [PATCH v6 23/40] arm_mpam: resctrl: Add rmid index helpers Ben Horgan
2026-03-23 22:50   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 24/40] arm_mpam: resctrl: Wait for cacheinfo to be ready Ben Horgan
2026-03-23 22:53   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 25/40] arm_mpam: resctrl: Add support for 'MB' resource Ben Horgan
2026-03-23 23:09   ` Gavin Shan
2026-03-27 15:47     ` James Morse
2026-03-13 14:46 ` [PATCH v6 26/40] arm_mpam: resctrl: Add kunit test for control format conversions Ben Horgan
2026-03-23 23:10   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 27/40] arm_mpam: resctrl: Add monitor initialisation and domain boilerplate Ben Horgan
2026-03-24  3:40   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 28/40] arm_mpam: resctrl: Add support for csu counters Ben Horgan
2026-03-24  3:40   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 29/40] arm_mpam: resctrl: Allow resctrl to allocate monitors Ben Horgan
2026-03-24  3:41   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 30/40] arm_mpam: resctrl: Add resctrl_arch_rmid_read() Ben Horgan
2026-03-24  3:41   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 31/40] arm_mpam: resctrl: Update the rmid reallocation limit Ben Horgan
2026-03-24  3:42   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 32/40] arm_mpam: resctrl: Add empty definitions for assorted resctrl functions Ben Horgan
2026-03-24  3:42   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 33/40] arm64: mpam: Select ARCH_HAS_CPU_RESCTRL Ben Horgan
2026-03-24  3:42   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 34/40] arm_mpam: resctrl: Call resctrl_init() on platforms that can support resctrl Ben Horgan
2026-03-24  3:43   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 35/40] arm_mpam: Add quirk framework Ben Horgan
2026-03-24  3:56   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 36/40] arm_mpam: Add workaround for T241-MPAM-1 Ben Horgan
2026-03-24  4:16   ` Gavin Shan
2026-03-27 15:48     ` James Morse
2026-03-13 14:46 ` [PATCH v6 37/40] arm_mpam: Add workaround for T241-MPAM-4 Ben Horgan
2026-03-24  4:19   ` Gavin Shan [this message]
2026-03-13 14:46 ` [PATCH v6 38/40] arm_mpam: Add workaround for T241-MPAM-6 Ben Horgan
2026-03-24  4:20   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 39/40] arm_mpam: Quirk CMN-650's CSU NRDY behaviour Ben Horgan
2026-03-24  4:21   ` Gavin Shan
2026-03-13 14:46 ` [PATCH v6 40/40] arm64: mpam: Add initial MPAM documentation Ben Horgan
2026-03-24  6:04   ` Gavin Shan
2026-03-17  0:25 ` [PATCH v6 00/40] arm_mpam: Add KVM/arm64 and resctrl glue code Jesse Chick
2026-03-18 10:22   ` Ben Horgan
2026-03-18  8:09 ` Shaopeng Tan (Fujitsu)
2026-03-18 10:23   ` Ben Horgan
2026-03-23  4:41 ` Gavin Shan
2026-03-24 10:09   ` Ben Horgan
2026-04-01 23:56 ` Fenghua Yu
2026-04-13 14:31   ` Ben Horgan
2026-04-02 23:38 ` Rose, Charles
2026-04-13 14:32   ` Ben Horgan
2026-04-13 14:41 ` Ben Horgan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48fdab87-7caa-4e84-803f-3fbad3dd306b@redhat.com \
    --to=gshan@redhat.com \
    --cc=amitsinght@marvell.com \
    --cc=baisheng.gao@unisoc.com \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=ben.horgan@arm.com \
    --cc=carl@os.amperecomputing.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=dave.martin@arm.com \
    --cc=david@kernel.org \
    --cc=dfustini@baylibre.com \
    --cc=fenghuay@nvidia.com \
    --cc=james.morse@arm.com \
    --cc=joey.gouly@arm.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=kobak@nvidia.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=lcherian@marvell.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=oupton@kernel.org \
    --cc=peternewman@google.com \
    --cc=punit.agrawal@oss.qualcomm.com \
    --cc=quic_jiles@quicinc.com \
    --cc=reinette.chatre@intel.com \
    --cc=rohit.mathew@arm.com \
    --cc=scott@os.amperecomputing.com \
    --cc=sdonthineni@nvidia.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tan.shaopeng@fujitsu.com \
    --cc=tan.shaopeng@jp.fujitsu.com \
    --cc=will@kernel.org \
    --cc=xhao@linux.alibaba.com \
    --cc=zengheng4@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.