Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Brian Swetland
Date: Thursday, May 27, 2010 - 9:55 pm

On Thu, May 27, 2010 at 3:55 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

I think that the suspend block model can be viewed as a constraints
problem (similar to some of things things you've been sketching out in
these threads), but I think we (Google/Android) view it as more of a
state constraint (don't enter suspend) than a latency constraint.

We think there's a need for these constraints both from the driver
side and userspace side, and that these constraints are not tied to
processes (multiple entities in one process may have different
constraints at different times or multiple processes may be working
together to accomplish some goal under a single constraint -- at least
both cases exist in the Android system as it ships today).

The exact naming of the API is not terribly important to us.  The
first thing we spent a bunch of time discussing last summer when Arve
first looked into sending wakelocks upstream was changing the name
because many objected to "wakelock" for various reasons.

Being able to have userful statistics (which drivers/processes/etc
held which wakelock for how long, how many times, etc) is important to
us.  While we want to do the best we can in the face of poorly written
apps, we also want to educate users and developers about which apps
are contributing to their poor battery life -- so users can decide to
uninstall an app if its usefulness does not justify its impact on
battery life and application developers can be more aware of what the
cost of their app is to endusers.

As an example, http://frotz.net/misc/battery-stats-unplugged.txt
contains a dump from the "battery service" aggregating wakelock usage,
cpu usage, and sensor device usage of processes (#....: sections) on
my phone the other day for a ~3 hour period.  This data is presented
visually to the enduser in a "what's using my battery" feature of the
platform.  "realtime" refers to wall clock time here and "uptime"
refers to not-in-suspend execution time.

Brian
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 3:09 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Thu May 27, 3:36 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Thu May 27, 7:47 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Thu May 27, 9:55 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Thu May 27, 11:39 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Fri May 28, 12:11 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Fri May 28, 2:32 am)
Re: resume latency QoS support, unify suspend/resume into ..., Arve Hjønnevåg, (Fri May 28, 2:59 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Fri May 28, 4:20 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Fri May 28, 4:41 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Fri May 28, 5:30 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Fri May 28, 5:31 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Fri May 28, 5:52 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Fri May 28, 6:20 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Fri May 28, 6:27 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Fri May 28, 7:02 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Fri May 28, 7:05 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Fri May 28, 7:21 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Fri May 28, 7:29 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Fri May 28, 7:41 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Fri May 28, 7:59 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Brian Swetland, (Fri May 28, 8:13 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Fri May 28, 8:53 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Zygo Blaxell, (Fri May 28, 10:27 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Fri May 28, 11:16 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Zygo Blaxell, (Fri May 28, 12:51 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Fri May 28, 2:44 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Fri May 28, 2:53 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Fri May 28, 4:42 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Fri May 28, 5:43 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat May 29, 12:53 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat May 29, 1:10 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Sat May 29, 1:28 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Sat May 29, 1:56 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Sat May 29, 9:10 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat May 29, 11:12 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat May 29, 11:12 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat May 29, 11:12 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Sat May 29, 1:12 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Mon May 31, 1:12 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Mon May 31, 1:47 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Mon May 31, 1:49 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Mon May 31, 1:52 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Mon May 31, 2:13 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Mon May 31, 2:14 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Mon May 31, 2:21 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Mon May 31, 2:41 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Mon May 31, 2:46 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Mon May 31, 3:17 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Mon May 31, 3:23 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Mon May 31, 3:27 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Mon May 31, 4:47 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Mon May 31, 10:21 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Tue Jun 1, 4:10 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Matthew Garrett, (Tue Jun 1, 6:51 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Tue Jun 1, 2:01 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Tue Jun 1, 3:24 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Tue Jun 1, 3:36 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Tue Jun 1, 6:10 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Tue Jun 1, 8:15 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Tue Jun 1, 8:32 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Tue Jun 1, 9:02 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Tue Jun 1, 9:14 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Tue Jun 1, 9:41 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Wed Jun 2, 12:00 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed Jun 2, 12:17 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Wed Jun 2, 12:21 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Wed Jun 2, 8:05 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed Jun 2, 12:47 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Wed Jun 2, 1:41 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Arve Hjønnevåg, (Wed Jun 2, 3:27 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Wed Jun 2, 4:03 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Wed Jun 2, 4:06 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Thu Jun 3, 3:05 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Thu Jun 3, 6:24 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Thu Jun 3, 7:18 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Thomas Gleixner, (Thu Jun 3, 7:35 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Thu Jun 3, 7:55 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), James Bottomley, (Thu Jun 3, 10:01 am)
RE: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Muralidhar, Rajeev D, (Thu Jun 3, 10:16 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Bryan Huntsman, (Thu Jun 3, 2:50 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Sat Jun 5, 9:58 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Sat Jun 5, 10:04 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Sat Jun 5, 10:16 am)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Sat Jun 5, 12:04 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat Jun 5, 12:16 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Rafael J. Wysocki, (Sat Jun 5, 12:39 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Sat Jun 5, 12:49 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Peter Zijlstra, (Sat Jun 5, 12:52 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Sat Jun 5, 12:53 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Felipe Contreras, (Sat Jun 5, 12:56 pm)
Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8), Florian Mickler, (Sat Jun 5, 2:52 pm)