I got curious about CPUIdle and some of the other software CPU coolers, and this is what I learned about how they work.
Essentially they issue a processor HLT
command, which halts the CPU until a non-maskable interrupt occurs or it is manually un-halted. Basically, HLT stops the CPU clock; kind of a pause button. Obviously each package has its own "is the CPU idle?" threshold measurement mechanism. This (and the UI) is what sets them apart.
Why is pausing the CPU good? When the CPU is halted, it consumes virtually no power and thus, generates no heat. In some modern workstations, this can be the difference between a 40-watt bulb and a 300-watt halogen.
Why is this bad? To restart the CPU requires a bit of overhead and (probably) a bunch of Windows context switches. The delay comes not necessarily from the un-halting, rather it's a byproduct of CPUIdle watching the system and initiating the restart. My guess is CPUIdle installs its own NMI (or hijacks an existing one) and redirects to its own code. Halting/unhalting once every few seconds it's probably not a big deal. Done multiple times per second, it could be a hit on performance. Oh, and depending on how good the "CPU idle?" mechanism works, some important background activities could be missed or delayed.
Note that "a hit on performance" while describing something meant to run when things are idle may seem silly, but it's that second bit -- the waking up -- I wonder about. Move the mouse and that generates an NMI and wakey-wakey... does it result in a micro-delay? Probably. Does it matter? Probably not for a mouse. But for a hard-drive? A network card?
As Grorgy notes, some software doesn't generate the proper stimulus to awaken the CPU, so that raises questions about what else
isn't getting acknowledged in a timely fashion. Could Darwin's instability be a result of some interrupts not being serviced quickly enough? It's one thing if your background MP3 downloads stall; quite another if your backup software isn't backing up, or various Windows services miss a beat here and there. Remember, only NMIs natively reverse a HLT, and those are usually hardware generated. Everything else has to be faked by CPUIdle.
It's probably a great tool for the uber-tweakers, and may even extend the life for a normal machine on the edge of failing. It's certainly gotten glowing reviews from folks who watch their CPU core temp for a hobby.
There is also some irony in somebody tweaking a box to within microseconds of failure -- overclocking, water-cooling, Satanic rites -- and then installing a tool which, essentially, stops their CPU entirely. And then exacts a small performance fee to restart it every few thousand microseconds.