And your point is?
It is a bad idea for an individual CPU to track the C-state of another CPU, which can change the cycle after it was checked. We know it is a bad idea because we used to do it, until we realized code here can easily impact the performance critical path.
In general, it is the OS's job to communicate constraints to the HW, and the HW to act on them. Not all HW is smart, so sometimes the OS has to do more hand-holding -- but less is more.
thanks, -Len