Closed
Bug 826366
Opened 12 years ago
Closed 12 years ago
"gecko" wakelock asserted while in a call w/ display off
Categories
(Firefox OS Graveyard :: Gaia::System, defect, P1)
Tracking
(blocking-basecamp:+)
People
(Reporter: m1, Assigned: timdream)
References
Details
Attachments
(1 file, 1 obsolete file)
We see that the "gecko" wakelock continues to be asserted while in a call w/ the display turned off. This is causing excessive power usage.
All we need to do is rip the _cpuWakeLock logic out of screen_manager.js.
Component: Gaia::Dialer → Gaia::System
Comment 2•12 years ago
|
||
Tim, can you fix or reassign, thanks!
Assignee: nobody → timdream+bugs
blocking-basecamp: ? → +
Target Milestone: --- → B2G C4 (2jan on)
Assignee | ||
Comment 3•12 years ago
|
||
Marco, I need you help on this since the _cpuWakeLock is implemented in bug 753842.
Do we have other better way to protect the proximity sensors?
Depends on: 753842
Assignee | ||
Comment 4•12 years ago
|
||
Hum, Marco is on vacation.
Re-read the bug again, I think to get rid of the wake lock, the proper fix would have to live in Gecko, where we patch nsDeviceSensor.cpp and send the proximity sensor events even if the window is marked "background". See bug 753842 comment 40.
Chris, what do you think?
Flags: needinfo?(jones.chris.g)
Hm yes, proximity events. Ignore comment 1 ;).
So what I see us doing is *always* holding the wakelock in order to receive proximity events. Even if the screen times out and turns off, proximity events will turn it back on. That's kind of a weird behavior.
This differs from android, which does the following (saner)
- while the screen is on, responds to proximity events, turning screen on/off
- after the screen times out and turns off, stops responding to proximity events
What I'm not sure about is whether we're testing the first case above or the second. Before we spend a lot of time worrying about efficient proximity events, -> CAF for a clarification ;).
Flags: needinfo?(jones.chris.g) → needinfo?(mvines)
Reporter | ||
Comment 6•12 years ago
|
||
I like the /saner/ approach. Proximity events aren't been taking into consideration in this power measurement.
STR:
1. Make a call
2. Put the phone down and let the display time out
3. Start measuring after a little while
Flags: needinfo?(mvines)
Tim, so what we need to do here is release the cpu wake lock that's being held for proximity events when the display times out on its own. Android has a special kind of wake lock for this. If we don't have what we need to implement this in gaia, then we can look at fixing this in gecko.
Assignee | ||
Comment 8•12 years ago
|
||
(In reply to Chris Jones [:cjones] [:warhammer] from comment #7)
> Tim, so what we need to do here is release the cpu wake lock that's being
> held for proximity events when the display times out on its own. Android
> has a special kind of wake lock for this. If we don't have what we need to
> implement this in gaia, then we can look at fixing this in gecko.
I could do it in Gaia with what comment 5 described.
Assignee | ||
Comment 9•12 years ago
|
||
WIP ... let me run some manual tests first.
Assignee | ||
Comment 10•12 years ago
|
||
Attachment #697838 -
Attachment is obsolete: true
Attachment #697860 -
Flags: review?(etienne)
Comment 11•12 years ago
|
||
Comment on attachment 697860 [details]
Github: https://github.com/mozilla-b2g/gaia/pull/7290
r=me
(tiny nit on github)
Attachment #697860 -
Flags: review?(etienne) → review+
Assignee | ||
Comment 12•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•