Messages in this thread | | | Date | Thu, 30 Apr 2015 10:10:26 -0700 | Subject | Re: A desktop environment[1] kernel wishlist | From | John Stultz <> |
| |
On Thu, Apr 30, 2015 at 9:25 AM, Bastien Nocera <hadess@hadess.net> wrote: > On Tue, 2014-10-21 at 10:04 -0700, John Stultz wrote: >> On Tue, Oct 21, 2014 at 1:49 AM, Bastien Nocera <hadess@hadess.net> >> wrote: >> > Hey, >> > >> > GNOME has had discussions with kernel developers in the past, and, >> > fortunately, in some cases we were able to make headway. >> > >> > There are however a number of items that we still don't have >> > solutions >> > for, items that kernel developers might not realise we'd like to >> > rely >> > on, or don't know that we'd make use of if merged. >> > >> > I've posted this list at: >> > https://wiki.gnome.org/BastienNocera/KernelWishlist >> > >> > Let me know on-list or off-list if you have any comments about >> > those, so >> > I can update the list. >> >> As for: 'Export of "wake reason" when the system wakes up (rtc alarm, >> lid open, etc.) and wakealarm (/sys/class/rtc/foo/wakealarm) >> documentation' >> >> Can you expand more on the rational for the need here? Is this for UI >> for power debugging, or something else? > > This is pretty much what I had in mind: > https://www.chromium.org/chromium-os/chromiumos-design-docs/lucid-sleep > > I guess I didn't make myself understood.
My, admittedly quick skim, of that design document seems to suggest that lucid sleep would be a new kernel state. That would keep the kernel in charge of determining the state transitions (ie: SUSPEND-(alarm)->LUCID-(wakelock release)->SUSPEND-(alarm)->LUCID-(power-button)->AWAKE). Then it seems userspace would be able to query the current state. This avoids some of the races I was concerned with trying to detect which irq woke us from suspend from userspace.
That said, the Power Manager section in that document sounds a little racy as it seems to rely on asking userspace if suspend is ok, rather then using userspace wakelocks, so I'm not sure how well baked this doc is.
Olof: Can you comment on who's working on that design doc? Also the discussion around using freezing cgroups separately to distinguish between lucid and awake is interesting, but I wonder if we need to make wakeup_sources/wakelocks cgroup aware, or has that already been done?
thanks -john
| |