Open
Bug 958566
Opened 10 years ago
Updated 2 years ago
gfxFontCache::WordCacheExpirationTimerCallback causes activity during idle
Categories
(Core :: Graphics: Text, defect)
Tracking
()
NEW
People
(Reporter: rvitillo, Unassigned)
References
Details
(Keywords: power, Whiteboard: [Power:P3])
Attachments
(1 file)
2.75 KB,
patch
|
Details | Diff | Splinter Review |
The timer is currently disabled in Release because of Bug 894798. In any case we should make sure that it doesn't fire during idle before it is re-enabled.
Comment 1•10 years ago
|
||
Roberto, could you clarify in more detail what exactly the bug is here. Is it that the timer is firing in release? Or that the timer should be doing a better job of avoiding wakeups during idle, i.e. avoiding unnecessary work that causes power drain? The word cache uses nsExpirationTracker to dump shaped words but the text system uses this class in several other places to dump temporally cached data. Seems like logic to avoid affecting power drain should happen there.
Reporter | ||
Comment 2•10 years ago
|
||
The timer is firing when FF is completely idle so it should be doing a better job at avoiding wakeups.
It should only wake up once and never again. Isn't that OK?
Reporter | ||
Comment 4•10 years ago
|
||
No, the timer is of type TYPE_REPEATING_SLACK and fires periodically every minute.
Ah, that's definitely bad. We should only enable it when the word cache is non-empty.
Updated•9 years ago
|
Whiteboard: [Power]
Updated•9 years ago
|
Assignee: nobody → jdaggett
Comment 6•9 years ago
|
||
(In reply to Roberto Agostino Vitillo (:rvitillo) from comment #0) Roberto, I'd like to fix this. What set of steps are you using to figure out when wakeups occur? I'd like to be able to confirm that fixing the timer logic fixes the wakeups problem.
Updated•9 years ago
|
Flags: needinfo?(rvitillo)
Comment 7•9 years ago
|
||
jdaggett, the last paragraph of http://robertovitillo.com/2014/02/04/idle-wakeups-are-evil/ has an explanation. I've been running a tweaked and updated version of the patch mentioned there, which I've attached here. It works on Mac. On Linux the blog post says you need to build with -export-dynamic linker flag. I haven't tested this.
Updated•9 years ago
|
Assignee: jdaggett → n.nethercote
Status: NEW → ASSIGNED
Updated•9 years ago
|
Flags: needinfo?(rvitillo)
Updated•9 years ago
|
Assignee: n.nethercote → nobody
Status: ASSIGNED → NEW
Updated•9 years ago
|
Assignee: nobody → jdaggett
Comment 8•9 years ago
|
||
(In reply to Nicholas Nethercote [:njn] from comment #7) > Created attachment 8658002 [details] [diff] [review] > (DO NOT LAND) Add dd hoc profiling of timer firing This code is now in the tree, and is documented here: https://developer.mozilla.org/en-US/docs/Mozilla/Performance/TimerFirings_logging jdaggett, it should help you a lot with this bug.
Whiteboard: [Power] → [Power:P3]
Updated•8 years ago
|
Assignee: jd.bugzilla → nobody
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•