I have a very lean Linux implementation on a Arm Quad Core 64 bit CPU/GPU.
The Linux sub system comes out of the sleep via GPIO, gets bunch of data via USB for complex calculations, once calculations are done, spits the results backvia USB and goes to sleep. Total calculation time is less than a second.
This event happens once every 10 seconds. (Duty cycle is <10%)
The system should follow the steps here:
External Source toggles a GPIO
- Linux wakes up from a low power system
- Linux turns on USB host and captures the data
- Linux does the calculations
- Linux provides the results
- Linux turns off USB etc. and goes back to Sleep
I have two objectives:
- Reduce the power consumption of the system during standby.
- A fast recovery from low power to active state.
Based on my research, I should put the Linux in s3 power state during standby. Do you agree with this? What I can do to speed up the wake up from s3 in the kernel?
Bonus Question: What would be a state of the art recovery time? Standby to Active. My current target is 100mSec or less.