From: Uli Luckas <u.luckas@road.de>
To: Pavel Machek <pavel@ucw.cz>
Cc: "swetland@google.com" <swetland@google.com>,
linux-pm@lists.linux-foundation.org,
"ncunningham@crca.org.au" <ncunningham@crca.org.au>
Subject: Re: [PATCH 01/13] PM: Add wake lock api.
Date: Wed, 4 Mar 2009 15:00:01 +0100 [thread overview]
Message-ID: <200903041500.06016.u.luckas@road.de> (raw)
In-Reply-To: <20090303140215.GD5060@elf.ucw.cz>
[-- Attachment #1.1: Type: text/plain, Size: 2047 bytes --]
On Tuesday, 3. March 2009, Pavel Machek wrote:
> Hi!
>
> > > > > And introduce nasty interface, and probably slower too since open()
> > > > > is time-critical and ioctl() is not? Or do you have benchmarks?
> > > >
> > > > No, just specualting as open() needs to do a directory lookup. It
> > > > also needs to do book keeping. I'd be surprised if open was faster
> > > > then ioctl.
> > >
> > > Unless you measure how much slower it is...
> >
> > OK. Opening /dev/null 100000 times readonly takes 365 ms on my machine.
> > Opening it once and then, 100000 times writing 1 byte takes 32 ms.
> > Why exactly did you think I had to provide numbers???
>
> Arve said:
> > >> I just checked my phone, and over a 24 hour awake time (370 hours
> > >> uptime) period, it acquired about 5 million wakelocks (mostly for
> > >> input events). If these were cache hits, and took as long as my
> > >> benchmark did, that accounts for 20 seconds of overhead (0.023%
> > >> of
> > >> awake, 0.1% of not-idle (5.5h).
>
> Ok. 20seconds vs. 200 seconds seems interesting.
>
> OTOH... Android seems to do IPC for wakelock manipulation, and that's
> way higher overhead than open() syscall, so perhaps it is not that
> critical?
>
Is IPC (writing a byte through a pipe/socket) really more expensive than
open/close?
Even if it is, this brings us back to another thread of this topic. The reason
for getting away with IPC might be that on the android platform the major
part of wake locking is still done by timeouts. One thing that comes to mind
here is network packets. You just don't want to open/close a fd for every
network packet that you process. Neither for serial data, bluetooth
packets, ...
Uli
--
------- ROAD ...the handyPC Company - - - ) ) )
Uli Luckas
Head of Software Development
ROAD GmbH
Bennigsenstr. 14 | 12159 Berlin | Germany
fon: +49 (30) 230069 - 62 | fax: +49 (30) 230069 - 69
url: www.road.de
Amtsgericht Charlottenburg: HRB 96688 B
Managing director: Hans-Peter Constien
[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2009-03-04 14:00 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-05 2:50 [RFC][PATCH 00/11] Android PM extensions Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 01/13] PM: Add wake lock api Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 02/13] PM: Add early suspend api Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 03/13] PM: Implement wakelock api Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 04/13] PM: wakelock: Override wakelocks when using /sys/power/state Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 05/13] PM: Add option to disable /sys/power/state interface Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 06/13] PM: Implement early suspend api Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 07/13] PM: wakelock: Add /sys/power/request_state Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 08/13] PM: Add user-space wake lock api Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 09/13] PM: wakelock: Abort task freezing if a wake lock is held Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 10/13] PM: earlysuspend: Add console switch when user requested sleep state changes Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 11/13] PM: earlysuspend: Removing dependence on console Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 12/13] Input: Hold wake lock while event queue is not empty Arve Hjønnevåg
2009-02-05 2:50 ` [PATCH 13/13] ledtrig-sleep: Add led trigger for sleep debugging Arve Hjønnevåg
2009-02-05 9:08 ` [PATCH 12/13] Input: Hold wake lock while event queue is not empty Pavel Machek
2009-02-05 9:06 ` [PATCH 11/13] PM: earlysuspend: Removing dependence on console Pavel Machek
2009-02-05 9:42 ` Arve Hjønnevåg
2009-02-05 9:53 ` Pavel Machek
2009-02-05 9:03 ` [PATCH 10/13] PM: earlysuspend: Add console switch when user requested sleep state changes Pavel Machek
2009-02-05 9:37 ` Arve Hjønnevåg
2009-02-05 9:51 ` Pavel Machek
2009-02-05 10:54 ` Uli Luckas
2009-02-06 2:29 ` Arve Hjønnevåg
2009-02-08 22:02 ` Pavel Machek
2009-02-08 22:53 ` Arve Hjønnevåg
2009-02-08 22:58 ` Pavel Machek
2009-02-05 8:55 ` [PATCH 09/13] PM: wakelock: Abort task freezing if a wake lock is held Pavel Machek
2009-02-05 9:30 ` Arve Hjønnevåg
2009-02-05 9:49 ` Pavel Machek
2009-02-05 9:58 ` Arve Hjønnevåg
2009-02-05 10:02 ` Pavel Machek
2009-02-05 10:08 ` Arve Hjønnevåg
2009-02-06 3:42 ` Arve Hjønnevåg
2009-02-08 23:00 ` Pavel Machek
2009-02-06 0:35 ` mark gross
2009-02-05 8:53 ` [PATCH 08/13] PM: Add user-space wake lock api Pavel Machek
2009-02-05 8:52 ` [PATCH 07/13] PM: wakelock: Add /sys/power/request_state Pavel Machek
2009-02-05 9:25 ` Arve Hjønnevåg
2009-02-05 9:27 ` Pavel Machek
2009-02-07 22:54 ` Rafael J. Wysocki
2009-02-06 0:18 ` [PATCH 06/13] PM: Implement early suspend api mark gross
2009-02-07 22:47 ` Rafael J. Wysocki
2009-02-08 2:32 ` Benjamin Herrenschmidt
2009-02-08 13:33 ` Rafael J. Wysocki
2009-02-05 9:17 ` [PATCH 05/13] PM: Add option to disable /sys/power/state interface Pavel Machek
2009-02-07 22:37 ` Rafael J. Wysocki
2009-02-08 10:33 ` Pavel Machek
2009-02-08 13:50 ` Rafael J. Wysocki
2009-02-08 14:04 ` Brian Swetland
2009-02-08 21:06 ` Pavel Machek
2009-02-08 23:41 ` Rafael J. Wysocki
2009-02-09 1:58 ` Uli Luckas
2009-02-10 0:09 ` Rafael J. Wysocki
2009-02-08 23:40 ` Rafael J. Wysocki
2009-02-08 23:58 ` Arve Hjønnevåg
2009-02-09 0:26 ` Rafael J. Wysocki
2009-02-09 1:35 ` Arve Hjønnevåg
2009-02-09 1:53 ` Brian Swetland
2009-02-09 8:58 ` Pavel Machek
2009-02-09 13:31 ` Brian Swetland
2009-02-10 11:19 ` Pavel Machek
2009-02-09 9:15 ` Pavel Machek
2009-02-09 3:07 ` Alan Stern
2009-02-11 22:26 ` Rafael J. Wysocki
2009-02-09 9:09 ` Pavel Machek
2009-02-12 11:16 ` Matthew Garrett
2009-02-08 21:04 ` Pavel Machek
2009-02-08 21:40 ` Alan Stern
2009-02-08 23:00 ` Arve Hjønnevåg
2009-02-08 23:03 ` Pavel Machek
2009-02-09 0:31 ` Rafael J. Wysocki
2009-02-09 2:11 ` Uli Luckas
2009-02-09 2:24 ` Arve Hjønnevåg
2009-02-09 2:56 ` Uli Luckas
2009-02-09 9:01 ` Pavel Machek
2009-02-10 0:17 ` Rafael J. Wysocki
2009-02-10 9:13 ` Pavel Machek
2009-02-10 14:18 ` Rafael J. Wysocki
2009-02-08 23:41 ` Pavel Machek
2009-02-08 23:44 ` Rafael J. Wysocki
2009-02-08 23:44 ` Rafael J. Wysocki
2009-02-07 22:31 ` [PATCH 04/13] PM: wakelock: Override wakelocks when using /sys/power/state Rafael J. Wysocki
2009-02-05 9:16 ` [PATCH 03/13] PM: Implement wakelock api Pavel Machek
2009-02-05 15:24 ` Alan Stern
2009-02-06 0:10 ` mark gross
2009-02-06 0:38 ` Arve Hjønnevåg
2009-02-07 0:33 ` mark gross
2009-02-07 0:47 ` Arve Hjønnevåg
2009-02-09 18:00 ` mark gross
2009-02-10 20:24 ` Pavel Machek
2009-02-07 22:27 ` Rafael J. Wysocki
2009-02-11 2:52 ` Arve Hjønnevåg
2009-02-05 9:14 ` [PATCH 02/13] PM: Add early suspend api Pavel Machek
2009-02-05 23:26 ` mark gross
2009-02-06 9:33 ` Uli Luckas
2009-02-06 23:26 ` Arve Hjønnevåg
2009-02-07 20:53 ` Rafael J. Wysocki
2009-02-07 23:34 ` Arve Hjønnevåg
2009-02-08 20:59 ` Pavel Machek
2009-02-08 23:59 ` Rafael J. Wysocki
2009-02-05 9:11 ` [PATCH 01/13] PM: Add wake lock api Pavel Machek
2009-02-06 0:28 ` Arve Hjønnevåg
2009-02-06 9:45 ` Uli Luckas
2009-02-08 21:30 ` Pavel Machek
2009-02-08 23:11 ` Arve Hjønnevåg
2009-02-09 9:06 ` Pavel Machek
2009-02-08 22:17 ` non-racy examples, please (was Re: [PATCH 01/13] PM: Add wake lock api.) Pavel Machek
2009-02-08 22:40 ` Arve Hjønnevåg
2009-02-08 23:14 ` Pavel Machek
2009-02-08 23:35 ` Arve Hjønnevåg
2009-02-10 11:15 ` Pavel Machek
2009-02-11 3:12 ` Arve Hjønnevåg
2009-02-09 1:49 ` non-racy examples, please (was Re: [PATCH 01/13] PM: Add wake lock api. ) Uli Luckas
2009-02-10 11:17 ` non-racy examples, please (was Re: [PATCH 01/13] PM: Add wake lock?api.) Pavel Machek
2009-02-10 12:10 ` Woodruff, Richard
2009-02-10 13:14 ` Pavel Machek
2009-02-10 13:20 ` Woodruff, Richard
2009-02-10 13:42 ` Brian Swetland
2009-02-10 12:35 ` Uli Luckas
2009-02-06 1:32 ` [PATCH 01/13] PM: Add wake lock api mark gross
2009-02-05 22:51 ` mark gross
2009-02-06 0:13 ` Arve Hjønnevåg
2009-02-10 20:25 ` Pavel Machek
2009-02-11 2:11 ` Arve Hjønnevåg
2009-02-11 4:47 ` Brian Swetland
2009-02-11 8:40 ` Uli Luckas
2009-02-11 14:58 ` Alan Stern
2009-02-11 15:45 ` Rafael J. Wysocki
2009-02-08 22:57 ` Pavel Machek
2009-02-11 21:37 ` Pavel Machek
2009-02-11 22:05 ` Alan Stern
2009-02-11 23:55 ` Arve Hjønnevåg
2009-02-12 18:47 ` mark gross
2009-02-07 18:56 ` Rafael J. Wysocki
2009-02-07 22:51 ` Arve Hjønnevåg
2009-02-07 23:25 ` Rafael J. Wysocki
2009-02-08 0:20 ` Arve Hjønnevåg
2009-02-08 21:21 ` Pavel Machek
2009-02-09 0:03 ` Rafael J. Wysocki
2009-02-09 0:15 ` Rafael J. Wysocki
2009-02-09 2:03 ` Arve Hjønnevåg
2009-02-11 22:23 ` Rafael J. Wysocki
2009-02-11 23:42 ` Arve Hjønnevåg
2009-02-12 22:22 ` Rafael J. Wysocki
2009-02-12 23:42 ` Woodruff, Richard
2009-02-13 1:10 ` Matthew Garrett
2009-02-13 2:21 ` Arve Hjønnevåg
2009-02-13 2:40 ` Nigel Cunningham
2009-02-13 3:17 ` Woodruff, Richard
2009-02-13 10:55 ` Uli Luckas
2009-02-13 14:06 ` Matthew Garrett
2009-02-13 14:24 ` Brian Swetland
2009-02-13 14:37 ` Matthew Garrett
2009-02-13 14:46 ` Brian Swetland
2009-02-13 15:07 ` Matthew Garrett
2009-02-13 22:52 ` Rafael J. Wysocki
2009-02-13 16:46 ` Uli Luckas
2009-02-13 17:05 ` Matthew Garrett
2009-02-13 18:13 ` Uli Luckas
2009-02-13 19:14 ` Matthew Garrett
2009-02-13 19:35 ` Uli Luckas
2009-02-13 16:49 ` Uli Luckas
2009-02-13 17:09 ` Matthew Garrett
2009-02-13 18:18 ` Uli Luckas
2009-02-27 13:18 ` Pavel Machek
2009-02-27 14:07 ` Uli Luckas
2009-02-27 20:32 ` Pavel Machek
2009-03-02 13:53 ` Uli Luckas
2009-03-03 14:02 ` Pavel Machek
2009-03-04 13:41 ` Uli Luckas
2009-03-04 14:00 ` Uli Luckas [this message]
2009-03-04 14:13 ` Pavel Machek
2009-03-04 14:34 ` Uli Luckas
2009-03-04 17:10 ` Pavel Machek
2009-03-05 17:42 ` Uli Luckas
2009-03-08 8:32 ` Pavel Machek
2009-03-08 12:34 ` Alan Stern
2009-02-13 23:36 ` Arve Hjønnevåg
2009-02-14 0:05 ` Matthew Garrett
2009-02-14 0:50 ` Arve Hjønnevåg
2009-02-14 1:06 ` Matthew Garrett
2009-02-14 1:33 ` Arve Hjønnevåg
2009-02-14 1:49 ` Matthew Garrett
2009-02-14 5:51 ` Arve Hjønnevåg
2009-02-14 20:44 ` Matthew Garrett
2009-02-26 15:04 ` Pavel Machek
2009-02-26 21:11 ` Arve Hjønnevåg
2009-02-26 21:36 ` Pavel Machek
2009-02-27 0:16 ` Arve Hjønnevåg
2009-02-27 9:56 ` Pavel Machek
2009-02-28 3:20 ` Arve Hjønnevåg
2009-02-06 23:51 ` [RFC][PATCH 00/11] Android PM extensions Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200903041500.06016.u.luckas@road.de \
--to=u.luckas@road.de \
--cc=linux-pm@lists.linux-foundation.org \
--cc=ncunningham@crca.org.au \
--cc=pavel@ucw.cz \
--cc=swetland@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox