Hi Babu, On Mon, Mar 4, 2024 at 2:24 PM Moger, Babu <bmoger@xxxxxxx> wrote: > Based on our discussion, I am listing few examples here. Let me know if > I missed something. > > mount -t resctrl resctrl /sys/fs/resctrl/ > > 1. Assign both local and total counters to default group on domain 0 and 1. > $echo "//00=lt;01=lt" > /sys/fs/resctrl/info/L3_MON/mbm_assign_control > > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > //00=lt;01=lt > > 2. Assign a total event to mon group inside the default group for both > domain 0 and 1. > > $mkdir /sys/fs/resctrl/mon_groups/mon_a > $echo "/mon_a/00+t;01+t" > > /sys/fs/resctrl/info/L3_MON/mbm_assign_control > > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > //00=lt;01=lt > /mon_a/00=t;01=t > > 3. Assign a local event to non-default control mon group both domain 0 > and 1. > $mkdir /sys/fs/resctrl/ctrl_a > $echo "/ctrl_a/00=l;01=l" > > /sys/fs/resctrl/info/L3_MON/mbm_assign_control > > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > //00=lt;01=lt > /mon_a/00=t;01=t > /ctrl_a/00=l;01=l > > 4. Assign a both counters to mon group inside another control > group(non-default). > $mkdir /sys/fs/resctrl/ctrl_a/mon_ab/ > $echo "ctrl_a/mon_ab/00=lt;01=lt" > > /sys/fs/resctrl/nfo/L3_MON/mbm_assign_contro > > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > //00=lt;01=lt > /mon_a/00=t;01=t > /ctrl_a/00=l;01=l > ctrl_a/mon_ab/00=lt;01=lt > > 5. Unassign a counter to mon group inside another control > group(non-default). > $echo "ctrl_a/mon_ab/00-l;01-l" > > /sys/fs/resctrl/nfo/L3_MON/mbm_assign_control > > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > //00=lt;01=lt > /mon_a/00=t;01=t > /ctrl_a/00=l;01=l > ctrl_a/mon_ab/00=t;01=t > > 6. Unassign all the counters on a specific group. > $echo "ctrl_a/mon_ab/00=_" > > /sys/fs/resctrl/nfo/L3_MON/mbm_assign_control > > $cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control > //00=lt;01=lt > /mon_a/00=t;01=t > /ctrl_a/00=l;01=l > ctrl_a/mon_ab/00=_;01=_ The use case I'm interested in is iterating 32 counters over 256 groups[1]. If it's not possible to reassign 32 counters in a single write system call, with just one IPI per domain per batch reassignment operation, then I don't see any advantage over the original proposal with the assignment control file in every group directory. We already had fine-grained control placing assign/unassign nodes throughout the directory hierarchy, with the scope implicit in the directory location. The interface I proposed in [1] aims to reduce the per-domain IPIs by a factor of the number of counters, rather than sending off 2 rounds of IPIs to each domain for each monitoring group. -Peter [1] https://lore.kernel.org/lkml/CALPaoChhKJiMAueFtgCTc7ffO++S5DJCySmxqf9ZDmhR9RQapw@xxxxxxxxxxxxxx/