suspend/resume PM criterion for application

AYAN KUMAR HALDER ayankumarh at gmail.com
Thu Sep 11 01:32:55 EDT 2014


On Thu, Sep 11, 2014 at 12:55 AM,  <Valdis.Kletnieks at vt.edu> wrote:
> On Wed, 10 Sep 2014 21:58:48 +0300, Ran Shalit said:
>
>> 1. How can I make a process to notice this inactivity ? Do you think
>> it can be implemented by some periodic process who check if there is
>> activity ? It returns to the original question I raised, that I will
>> use some periodic process who checks maybe cpu load or something like
>> that. What do you think ?
>
> That's going to depend on your system and what processes are running.
>
> You may have an MP3 player going that doesn't take much CPU at all - but
> shutting down because the user hasn't hit a button in 47 minutes will probably
> irritate the user no end.  Or there may be a screensaver running that takes
> twice as much CPU as the MP3 player, but is totally OK on the system
> suspending whenever the rest of the system wants it.
>
> You're going to have to look at your system design, and decide for yourself
> what the criteria are.

Please correct me if my understanding is wrong:-

I believe that autosuspend feature (for system suspend) is not present
in kernel. I believe that there is no feature in kernel which checks
for system ( cpu, devices) inactivity and suspends the entire system.
System suspend is caused when :-
1. the user issues a command
2. The system receives some interrupt or event (lid closing event)
3. There is an external process which monitors system inactivity and
suspends the system.

For runtime suspend of a device, I believe it is the driver who has
the complete responsibility to decide when to suspend the device or
resume it.  The driver can take this decision on user intervention (eg
when user writes to   /sys/devices/<my-device>/power/* ) or when the
driver has completed servicing an interrupt and feels it has nothing
more to do, etc



More information about the Kernelnewbies mailing list