No: "was mostly running cpu_idle()". A cpu_idle() cpu could execute lots
of irqs and softirqs.
So the worst case would be a system with 1 cpu/node for reserved for irq
handling.
The "idle" cpu would be always in no_hz mode, even though it might be
100% busy handling irqs.
The remaning cpus might be 100% busy handling user space.
And every quiescent state will end up in that O(NR_CPUS) loop.
--
Manfred
--