[Pm-utils] Canceling resume

Enrico Zini enrico at enricozini.org
Fri Nov 20 05:10:47 PST 2009


On Thu, Nov 19, 2009 at 10:34:44AM -0600, Victor Lowther wrote:

> >However, upon resume pm-utils will run the various scripts in
> >/etc/pm in
> >order. The idea would be to have a hook, say, 80-openmoko, that tells
> >pm-utils: "forget it, we need to go back to sleep".  And at that point
> >pm-utils will:
> >1. stop running further resume scripts
> >2. start running suspend hooks starting from the one that canceled the
> >   resume 80-openmoko
> >3. suspend again
> 
> It seems like a reasonable request, nut it is not obvious how to
> implement it in a general way.

It looks like I was following the wrong approach. I took some timings,
and standard pm-utils scripts seem to be a bit too heavyweight for a
mobile phone:

  00auto-quirk suspend... result: 0		 0.721047sec
  00logging suspend... result: 0		 0.800695sec
  00powersave suspend... result: 0		 1.787498sec
  49bluetooth suspend... result: 254		 0.551373sec
  55NetworkManager suspend... result: 254	 0.769849sec
  55wicd suspend... result: 252			 2.561117sec
  75modules suspend... result: 254		 1.077796sec
  90clock suspend... result: 254		 0.808920sec
  94cpufreq suspend... result: 0		 0.612665sec
  95led suspend... result: 254		 	 0.106237sec
  98smart-kernel-video suspend... result: 254	 0.715426sec
  99video suspend... result: 0			 1.037772sec
  99video resume... result: 0			 4.003470sec
  98smart-kernel-video resume... result: 0	 0.755774sec
  95led resume... result: 254			 0.112618sec
  94cpufreq resume... result: 0			 0.678049sec
  90clock resume... result: 254			 0.629024sec
  75modules resume... result: 0			 0.843291sec
  55wicd resume... result: 252			 2.202079sec
  55NetworkManager resume... result: 254	 0.772729sec
  49bluetooth resume... result: 254		 0.696186sec
  00powersave resume... result: 0		 2.062235sec
  00logging resume... result: 0			 0.554852sec
  00auto-quirk resume... result: 0		 0.732000sec

This is not your fault, you're obviously targeting a different platform.

But I would still want to allow openmoko apps to be installed on my
desktop and still work, so I'd like to have, on my phone, suspend/resume
plugins that are compatible with pm-utils.

To that end, I prototyped a "light" version of pm-utils:
http://git.debian.org/?p=users/enrico/omhacks.git

It tries to do the same, but it's implemented in C, it's simple minded
and it does not ship the default heavyweight pm-utils hooks.

It also implements "cancel resume", when a hook exits with status 250.

It's all still a proof of concept, and it hasn't proven the concept yet:
I'm now trying to port a complicated suspend/resume setup to it to see
if it copes.

I seems like a reasonable tradeoff to me to have the normal pm-utils and
a lighter version that at least share the standard behaviours, so if the
idea is viable I could be quite happy with it.

Only, I'd like the standard to stay in sync. I've had to pick an extra
special exit status to implement "cancel resume", and it might be a good
idea if we eventually standardise it, so that the proper pm-utils don't
pick it in the future for something else, forcing all scripts that use
that feature to be rewritten.


Ciao,

Enrico

-- 
GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enrico at enricozini.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/pm-utils/attachments/20091120/286689af/attachment.pgp 


More information about the Pm-utils mailing list