On Fri, Apr 21, 2023 at 4:18 PM Peter Newman <peternewman@xxxxxxxxxx> wrote: > static void clear_closid_rmid(int cpu) > { > struct resctrl_pqr_state *state = this_cpu_ptr(&pqr_state); > @@ -604,7 +636,12 @@ static void clear_closid_rmid(int cpu) > state->default_rmid = 0; > state->cur_closid = 0; > state->cur_rmid = 0; > - wrmsr(MSR_IA32_PQR_ASSOC, 0, 0); > + state->hw_rmid = 0; > + > + if (static_branch_likely(&rdt_soft_rmid_enable_key)) > + state->hw_rmid = determine_hw_rmid_for_cpu(cpu); clear_closid_rmid() isn't run at mount time, so hw_rmid will be uninitialized on any CPUs which were already enabled. The static key was originally set at boot. (the consequence was that domain bandwidth was the amount recorded on the first CPU in the domain multiplied by the number of CPUs in the domain)