> > I'm not sure this is a real requirement. It's just an optimization, > > right? If you can assign policies to threads, you can implicitly set it > > per CPU through affinity (or the other way around). > > That's difficult when distinct users/systems do monitoring and system > management. What if the cluster manager decides to change affinity > for a task after the monitoring service has initiated monitoring a CPU > in the way you describe?
Why would you want to monitor a CPU if you don't know what it is running? The results would be meaningless. So you really want to integrate those two services. > > > The only benefit would be possibly less context switch overhead, > > but if all the thread (including idle) assigned to a CPU have the > > same policy it would have the same results. > > I think another of the reasons for the CPU monitoring requirement is > to monitor interruptions in CPUs running the idle thread. In CAT, idle threads are just threads, so they could be just exposed to perf (e.g. combination of pid 0 + cpu filter) > Also, if perf's like monitoring is supported, it'd allow something like > > perf stat -e LLC-load,LLC-prefetches,intel_cqm/total_bytes -C 2 This would work without a special API. -Andi