On Tue, Jan 11, 2022 at 1:56 AM Cruz Zhao <CruzZhao@xxxxxxxxxxxxxxxxx> wrote: > > Accounting for "forced idle" time per cpu, which is the time a cpu is > forced to idle by its SMT sibling. > > As it's not accurate to measure the capacity loss only by cookie'd forced > idle time, and it's hard to trace the forced idle time caused by all the > uncookie'd tasks, we account the forced idle time from the perspective of > the cpu. > > Forced idle time per cpu is displayed via /proc/schedstat, we can get the > forced idle time of cpu x from the 10th column of the row for cpu x. The > unit is ns. It also requires that schedstats is enabled. > > Signed-off-by: Cruz Zhao <CruzZhao@xxxxxxxxxxxxxxxxx> > --- Two quick followup questions: 1) From your v1, I still wasn't quite sure if the per-cpu time was useful or not for you versus a single overall sum (ie. I think other metrics could be more useful for analyzing steal_cookie if that's what you're specifically interested in). Do you definitely want the per-cpu totals? 2) If your cgroup accounting patch is merged, do you still want this patch? You can grab the global values from the root cgroup (assuming you have cgroups enabled). The only potential gap is if you need per-cpu totals, though I'm working to add percpu stats to cgroup-v2: https://lkml.kernel.org/r/%3C20220107234138.1765668-1-joshdon@xxxxxxxxxx%3E