Hi Babu, On Mon, Nov 4, 2024 at 7:21 PM Moger, Babu <babu.moger@xxxxxxx> wrote: > > Hi Peter, > > On 11/4/24 08:16, Peter Newman wrote: > > Hi Babu, > > > > On Wed, Oct 30, 2024 at 12:25 AM Babu Moger <babu.moger@xxxxxxx> wrote: > >> > >> The mbm_cntr_assign mode provides a limited number of hardware counters > >> that can be assigned to an RMID, event pair to monitor bandwidth while > >> assigned. If all counters are in use, the kernel will show an error > >> message: "Out of MBM assignable counters" when a new assignment is > >> requested. To make space for a new assignment, users must unassign an > >> already assigned counter. > >> > >> Introduce an interface that allows for the unassignment of counter IDs > >> from both the group and the domain. Additionally, ensure that the global > >> counter is released if it is no longer assigned to any domains. > > > > This seems unnecessarily restrictive. What's wrong with monitoring > > different groups in different domains? > > Yes. User can monitor different groups in different domains. But, they > will have to use different global counter for each group. What is a global counter anyways? It sounds like an artifact of an earlier revision. This concept does not sound intuitive to the user. > > Here is an example. > > #cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > groupA//0=t;1=_; > groupB//0=_;1=l; > > Group A - counter 0 (Assigned to total event in Domain 0) > Group B - counter 1 (Assigned to local event in Domain 1) > > We allocate two different counters here. Now we are left with 30 counters > (max 32). > > > This is similar to CLOSID management we follow in resctrl. This is not a > new restriction, It is a restriction in a new feature that resembles a restriction in an existing feature. I don't see what function the global allocator serves now that there is already a per-domain allocator. My best guess is that it avoids the case of an mbm_assign_control write that succeeds in some domains but fails in others. I admit I said earlier that I was only planning to allocate globally, but now that I'm evaluating how to make resctrl's monitoring functionality scale on large systems, I'm being forced to reconsider. As long as this is only a limitation I can fix later, I don't see it as an obstacle. There would just need to be better documentation of what sort of internal data structures the user needs to visualize in order to use this feature successfully. -Peter