Subtle interactions in the embedded world - what bugs can teach us
Subtle interactions in the embedded world - what bugs can teach us
Posted Feb 29, 2012 8:04 UTC (Wed) by neilbrown (subscriber, #359)In reply to: Subtle interactions in the embedded world - what bugs can teach us by geuder
Parent article: Subtle interactions in the embedded world - what bugs can teach us
The runtime power management - which for the CPU is called 'cpuidle' - attempts to switch to the lowest power state which still meets the current needs.
This is all done quite independently of "suspend".
"suspend" is an OS concept more than a hardware concept - at least it in on ARM. On X86 it is also a firmware concept imposed by the BIOS (once the APM bios, now the ACPI bios).
To Linux "suspend" means:
. - freeze all processes
. - give extra encouragement to devices to go to low power states
. - disable some interrupts
and wait for a non-disabled interrupt.
Some devices don't need extra encouragement, and will always power down as much as possible. Others might only powerdown when they are not in use (i.e. no process has the device file open), and the extra encouragement from suspend powers them down anyway. Others might stay powered on a little bit so they can wake the system up, and this might be configurable.
So when I was talking about "suspend" it was definitely the OS-level concept, not the chip-level concept.
Hope that helps.
