On Tue, Jan 10, 2023 at 12:58:47PM -0800, Tony Luck wrote: > > > > + /* Update resource control msr on all the CPUs. */ > > > > + on_each_cpu_mask(cpu_mask, rdt_ctrl_update, &msr_param, 1); > > > > > > Do you require these updates to done immediately via an IPI? or can they be > > > done bit lazy via schedule_on_each_cpu()? > > > > I have not experimented with lazy schedule. At least I know the call > > update_cpu_closid_rmid should be completed immediately. Otherwise, the > > result might be inconsistent as the tasks(or CPUs) could be running on > > two different closed/rmids before it is updated on all CPUs in the domain. > > I think this does need to happen somewhat urgently. Imagine trying to give > some extra resources to a CPU bound real-time process. That process will > keep running with the old resource allocation. If the resctl was setup before spawning other threads then the thread starts with the right values from the start, probably inheriting from the parent? I wasn't sure if the few ms difference is going to make much material difference for that process. IPI's does shake things up and introduces other overheads not related to this process. Instead of victimizing just this process, we hurt everything else. Does it make sense to do an experiment and see if there is any other functional failures? Cheers, Ashok