I guess it depends on the system
Sort-of. We have something similar with threads on ppc. IE, the core can only really stop if all threads are. From a Linux persepctive it's a matter of how we define the scope of that 'cluster' Catalin is talking about. I'm sure you do too.
Then there is the package, which adds MC etc...
the very first cpu needs to power on
- the core itself
- the "cluster" that you mention
- the memory controller
- the memory (out of self refresh)
while the second cpu needs
- the core itself
- maybe a second cluster
normally on Intel systems, the memory power delta is quite significant which then means the efficiency of the second core is huge compared to running things in sequence.
What's your typical latency for bringing an MC back (and memory out of self refresh) ? IE. Basically bringing a package back up ?
to bring the system back up if all cores in the whole system are idle and power gated, memory in SR etc... is typically < 250 usec (depends on the exact version of the cpu etc). But the moment even one core is running, that core will keep the system out of such deep state, and waking up a consecutive entity is much faster
to bring just a core out of power gating is more in the 40 to 50 usec range