Skip to content

Commit dd86b69

Browse files
babumogerbp3tk0v
authored andcommitted
fs/resctrl: Fix counter auto-assignment on mkdir with mbm_event enabled
rdt_resource::resctrl_mon::mbm_assign_on_mkdir determines if a counter will automatically be assigned to an RMID, MBM event pair when its associated monitor group is created via mkdir. Testing shows that counters are always automatically assigned to new monitor groups, whether mbm_assign_on_mkdir is set or not. To support automatic counter assignment the check for mbm_assign_on_mkdir should be in rdtgroup_assign_cntrs() that assigns counters during monitor group creation. Instead, the check for mbm_assign_on_mkdir is in rdtgroup_unassign_cntrs() that is called on monitor group deletion from where counters should always be unassigned, whether mbm_assign_on_mkdir is set or not. Fix automatic counter assignment by moving the mbm_assign_on_mkdir check from rdtgroup_unassign_cntrs() to rdtgroup_assign_cntrs(). [ bp: Replace commit message with Reinette's version. ] Fixes: ef712fe ("fs/resctrl: Auto assign counters on mkdir and clean up on group removal") Signed-off-by: Babu Moger <babu.moger@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Acked-by: Reinette Chatre <reinette.chatre@intel.com>
1 parent d79bab8 commit dd86b69

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

fs/resctrl/monitor.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1200,7 +1200,8 @@ void rdtgroup_assign_cntrs(struct rdtgroup *rdtgrp)
12001200
{
12011201
struct rdt_resource *r = resctrl_arch_get_resource(RDT_RESOURCE_L3);
12021202

1203-
if (!r->mon_capable || !resctrl_arch_mbm_cntr_assign_enabled(r))
1203+
if (!r->mon_capable || !resctrl_arch_mbm_cntr_assign_enabled(r) ||
1204+
!r->mon.mbm_assign_on_mkdir)
12041205
return;
12051206

12061207
if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))
@@ -1258,8 +1259,7 @@ void rdtgroup_unassign_cntrs(struct rdtgroup *rdtgrp)
12581259
{
12591260
struct rdt_resource *r = resctrl_arch_get_resource(RDT_RESOURCE_L3);
12601261

1261-
if (!r->mon_capable || !resctrl_arch_mbm_cntr_assign_enabled(r) ||
1262-
!r->mon.mbm_assign_on_mkdir)
1262+
if (!r->mon_capable || !resctrl_arch_mbm_cntr_assign_enabled(r))
12631263
return;
12641264

12651265
if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))

0 commit comments

Comments
 (0)