From: Florian Mickler on
On Thu, 1 Jul 2010 15:32:08 +0200
Pavel Machek <pavel(a)ucw.cz> wrote:

> Hi!
>
> > @@ -114,3 +114,17 @@ Description:
> > if this file contains "1", which is the default. It may be
> > disabled by writing "0" to this file, in which case all devices
> > will be suspended and resumed synchronously.
> > +
> > +What: /sys/power/wakeup_count
> > +Date: July 2010
> > +Contact: Rafael J. Wysocki <rjw(a)sisk.pl>
> > +Description:
> > + The /sys/power/wakeup_count file allows user space to avoid
> > + losing wakeup events when transitioning the system into a sleep
> > + state. Reading from it returns the current number of registered
> > + wakeup events and it blocks if some wakeup events are being
> > + processed at the time the file is read from. Writing to it
> > + will only succeed if the current number of wakeup events is
> > + equal to the written value and, if successful, will make the
> > + kernel abort a subsequent transition to a sleep state if any
> > + wakeup events are reported after the write has returned.


> I can't say I quite like the way two sysfs files interact with each
> other, but it is certainly better then wakelocks...

What two files?

Cheers,
Flo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Pavel Machek on
On Thu 2010-07-01 21:02:27, Rafael J. Wysocki wrote:
> On Thursday, July 01, 2010, Pavel Machek wrote:
> > Hi!
> >
> > > @@ -114,3 +114,17 @@ Description:
> > > if this file contains "1", which is the default. It may be
> > > disabled by writing "0" to this file, in which case all devices
> > > will be suspended and resumed synchronously.
> > > +
> > > +What: /sys/power/wakeup_count
> > > +Date: July 2010
> > > +Contact: Rafael J. Wysocki <rjw(a)sisk.pl>
> > > +Description:
> > > + The /sys/power/wakeup_count file allows user space to avoid
> > > + losing wakeup events when transitioning the system into a sleep
> > > + state. Reading from it returns the current number of registered
> > > + wakeup events and it blocks if some wakeup events are being
> > > + processed at the time the file is read from. Writing to it
> > > + will only succeed if the current number of wakeup events is
> > > + equal to the written value and, if successful, will make the
> > > + kernel abort a subsequent transition to a sleep state if any
> > > + wakeup events are reported after the write has returned.
> >
> > I assume that second suspend always succeeds?
>
> The mechanism is one-shot if that's what you're asking for.

Yep, it would be nice to document it.

Plus maybe... should there be way to clear the wakeup_count? For
example when userspace decides that battery is low and that it wants
to go to sleep now?

> > I can't say I quite like the way two sysfs files interact with each
> > other, but it is certainly better then wakelocks...
> >
> > Maybe we should create sys_suspend()?
>
> Well, one can modify pm-utils to use the new sysfs file quite easily, but it
> wouldn't be that easy with sys_suspend() IMO.

Well... small C helper should be easy...
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/