All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Moger, Babu" <bmoger@amd.com>
To: Reinette Chatre <reinette.chatre@intel.com>,
	Babu Moger <babu.moger@amd.com>,
	tony.luck@intel.com, bp@alien8.de
Cc: x86@kernel.org, Dave.Martin@arm.com, james.morse@arm.com,
	corbet@lwn.net, skhan@linuxfoundation.org, tglx@kernel.org,
	mingo@redhat.com, dave.hansen@linux.intel.com, hpa@zytor.com,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	eranian@google.com, peternewman@google.com
Subject: Re: [PATCH v2 3/3] x86/resctrl: Keep mbm_assign_mode in default mode at boot
Date: Mon, 14 Sep 2026 20:11:28 -0500	[thread overview]
Message-ID: <02254e94-35de-406e-a40f-f2a566d1c4ec@amd.com> (raw)
In-Reply-To: <5e8c02f6-4352-42e5-83a8-f6d589278568@intel.com>

Hi Reinette,

On 9/14/2026 4:31 PM, Reinette Chatre wrote:
> Hi Babu,
> 
> On 9/14/26 1:45 PM, Babu Moger wrote:
>> On 9/11/26 17:25, Reinette Chatre wrote:
>>> On 9/4/26 11:06 AM, Babu Moger wrote:
> 
> ...>>> systems with limited MBM counters and breaks existing userspace that
>>>> assumes the historical default mode, including the pqos tool from
>>>> intel-cmt-cat [1].
>>>
>>> There is no record of this breaking pqos. *you* created [1] *after* you
>>> submitted v1. What a strategy! I mentioned a couple of times that this is
>>
>> Agreed.
>>
>>> misleading. Since you insist on proclaiming "we cannot break pqos!" as
>>> motivation for this change you have to also disclose the consequence of
>>> this change on pqos followed by motivation why that is acceptable. Specifically:
>>>
>>>      https://lore.kernel.org/lkml/77f77d02-fae7-401d-9bb5-c62b244d23cd@intel.com/
>>
>> I can provide output that demonstrates the issue, where the event counters report zeros. However, we won't observe the large counter values because the hardware resets the counters after reallocation.
>>
>> Will that be ok?
> 
> No. This is not about hardware resetting the counters. This is about pqos not handling
> text return values, for example "Unavailable" and "Unassigned". This patch only
> focuses on pqos treating "Unassigned" as 0, but in "default" mode "Unavailable" will
> be encountered and pqos treating it as 0 is more severe.
> 
> Consider a scenario where a counter is re-assigned. When user space reads the event
> value then it may see:
> 
> <return A>, <return "Unavailable">, <return B (larger than A)>, <return "Unavailable">, ...
> 
> "B" is computed by adding the new hardware counter value to A. As you indicate, hardware
> did reset the counter after re-allocation but that only means that "B" is no longer
> accurate. "B" is still returned and it is still larger than "A".
> 
> Based on above, pqos sees:
> A, 0, B, 0, ...
> 
> These jumps between bandwidth counts and zero is what pqos perceives as wraparound that is
> presented in the example:
> 
> 	https://lore.kernel.org/lkml/77f77d02-fae7-401d-9bb5-c62b244d23cd@intel.com/

Got it. I can add the output of the issue. Something like this.

TIME 2026-09-15 00:53:46
CORE     IPC      MISSES     LLC[KB]   MBL[MB/s]   MBR[MB/s]
0        0.76         60k        32.0         0.0         0.0
1        0.45          1k        32.0         0.0         0.0
2        1.57        107k        64.0         0.0 17592186044184.9
3        1.62        276k      4928.0         3.2         0.5
4        0.53          1k       160.0         0.0         0.0
5        0.63         39k      1664.0         0.2         0.0
6        0.44          6k       128.0         0.0         0.0
7        0.50          1k       320.0         0.0         0.0


> 
>>>> For example, pqos mounts resctrl and creates 16 or more monitoring groups,
>>>> using two counters per group (mbm_local_bytes and mbm_total_bytes). On
>>>> platforms that provide 32 MBM counters per domain, this consumes the entire
>>>> counter pool. Additional groups cannot be assigned counters and pqos
>>>> reports zero bandwidth for them.
>>>>
>>>> Leave mbm_assign_mode in "default" mode during initialization. Default mode
>>>> can support more monitoring groups (up to 64) than mbm_event mode, which is
>>>
>>> "up to 64" - so it may be fewer than 64? What is guidance to users about
>>> how many monitoring groups in "default" mode are "safe"?
>>
>> It is 64. It be more on newer h/w (don't know exact count).
> 
> Should it then read "64 or more" instead of "up to 64"?

Sure.

> 
> ...
> 
>>>
>>> Although, the earlier text is "up to 64" so above attempt at guidance may not
>>> be correct and there is no knowing how many monitoring groups are guaranteed
>>> to receive accurate counts?
>>
>> That is correct. We can get this count by assigning counters
>> iteratively until an "unavailable" response is returned. However,
>> the specification does not mention this behavior.
> 
> This is about determining the "magic" number of RMIDs, not about counter assignment.
> User space does not do any counter assignment here. In this case user space can create
> monitoring groups up to the maximum number of RMIDs supported.

Little bit confused here. How about we revisit this text again in v3?

> 
> ...
> 
>>
>>>
>>>> +    remain accurate. Creating more groups than that pool (for example 64 or
>>>
>>> "64" -> "65"?
>>
>> Sure.
> 
> This would only be useful if all hardware support the same number of magic RMID though.

It

> 
>>
>>>
>>>> +    more) can cause hardware to re-allocate counters
>>>> +    between reads. Bandwidth values may then be misleading, or reads may return
>>>
>>> "between reads" - what reads are referred to here?
>>
>> "between two event reads" ?
>>
> 
> This is unclear to me at this point.

Lets me revise the text an revisit.

> 
> ...
> 
>>>> @@ -474,8 +484,8 @@ with the following files:
>>>>          Determines if a counter will automatically be assigned to an RMID, MBM event
>>>>        pair when its associated monitor group is created via mkdir. Enabled by default
>>>> -    on boot, also when switched from "default" mode to "mbm_event" counter assignment
>>>> -    mode. Users can disable this capability by writing to the interface.
>>>> +    when switched to "mbm_event" counter assignment mode. Users can disable this
>>>
>>> Why is this change necessary? It seems to drop the text that mbm_assign_on_mkdir is
>>> enabled on boot ... but it is still enabled on boot, no?
>>
>> Yes. It is enabled on boot. It should not be set by default. Will update the patch.
> 
> This is about mbm_assign_on_mkdir that *is* set by default, on boot and when switching to
> "default" mode, no?

Yes. That is correct. This is about mbm_assign_on_mkdir.
Thanks
Babu

  reply	other threads:[~2026-09-15  1:11 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-04 18:06 [PATCH v2 0/3] x86/resctrl: Keep default MBM mode at boot and fix ABMC Babu Moger
2026-09-04 18:06 ` [PATCH v2 1/3] x86/resctrl: Fix ABMC counter programming for extended counter ranges Babu Moger
2026-09-11 22:03   ` Reinette Chatre
2026-09-14 17:17     ` Babu Moger
2026-09-14 21:30       ` Reinette Chatre
2026-09-14 21:50         ` Reinette Chatre
2026-09-15  0:18           ` Moger, Babu
2026-09-16 14:58             ` Reinette Chatre
2026-09-16 16:13               ` Babu Moger
2026-09-15  0:20         ` Moger, Babu
2026-09-04 18:06 ` [PATCH v2 2/3] fs/resctrl: Assign counters to existing groups when enabling mbm_event Babu Moger
2026-09-11 22:12   ` Reinette Chatre
2026-09-14 18:54     ` Babu Moger
2026-09-04 18:06 ` [PATCH v2 3/3] x86/resctrl: Keep mbm_assign_mode in default mode at boot Babu Moger
2026-09-11 22:25   ` Reinette Chatre
2026-09-14 20:45     ` Babu Moger
2026-09-14 21:31       ` Reinette Chatre
2026-09-15  1:11         ` Moger, Babu [this message]
2026-09-15 19:59           ` Babu Moger
2026-09-16 14:42             ` Reinette Chatre
2026-09-16 16:09               ` Babu Moger

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=02254e94-35de-406e-a40f-f2a566d1c4ec@amd.com \
    --to=bmoger@amd.com \
    --cc=Dave.Martin@arm.com \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=eranian@google.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peternewman@google.com \
    --cc=reinette.chatre@intel.com \
    --cc=skhan@linuxfoundation.org \
    --cc=tglx@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /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.