Closed
Bug 784647
Opened 12 years ago
Closed 12 years ago
IPC messages starve XPCOM timers in child processes
Categories
(Core :: IPC, defect)
Core
IPC
Tracking
()
RESOLVED
FIXED
mozilla17
People
(Reporter: cjones, Assigned: cjones)
References
Details
(Whiteboard: [LOE:M])
Attachments
(1 file, 3 obsolete files)
2.21 KB,
patch
|
bent.mozilla
:
review+
|
Details | Diff | Splinter Review |
With bug 774988 resolved, repaints on OOP content being bombed with IPC messages (input events) are still starved. The remaining problems are most likely due to timers being starved; see bug 761933 comment 26.
Assignee | ||
Comment 1•12 years ago
|
||
This probably affects all XPCOM events, not just timers.
Assignee | ||
Updated•12 years ago
|
Whiteboard: [LOE:M]
Assignee | ||
Comment 2•12 years ago
|
||
This fixes the perf problems in bug 761933.
Assignee: nobody → jones.chris.g
Assignee | ||
Updated•12 years ago
|
Summary: IPC messages starve XPCOM timers → IPC messages starve XPCOM timers in child processes
Assignee | ||
Comment 3•12 years ago
|
||
I hoped that sorta-kinda-but-not-really-fair event dispatch would be good enough, but it's not. This patch is still miles better than what's current in m-c, but it's 14fps slower on homescreen panning than the hacky patch that actually dispatches timers vs. IPC fairly.
Fiddlesticks.
Assignee | ||
Comment 4•12 years ago
|
||
Babies are crying everywhere.
Assignee | ||
Comment 5•12 years ago
|
||
Attachment #654545 -
Attachment is obsolete: true
Attachment #654963 -
Attachment is obsolete: true
Attachment #655101 -
Attachment is obsolete: true
Attachment #655138 -
Flags: review?(bent.mozilla)
Comment on attachment 655138 [details] [diff] [review]
Ensure that Tasks and XPCOM events are dispatched with the same priority
Review of attachment 655138 [details] [diff] [review]:
-----------------------------------------------------------------
Glad this was a simple fix!
::: ipc/glue/MessagePump.cpp
@@ +210,5 @@
> #endif
> +
> + // We can get to this point in startup with Tasks in our loop's
> + // incoming_queue_ or pending_queue_, but without a matching
> + // DoWorkRunnable(). In MessagePump::Run() above, we sensitivitely
Nit: Let's use a real word instead of "sensitivitely".
Attachment #655138 -
Flags: review?(bent.mozilla) → review+
Assignee | ||
Comment 7•12 years ago
|
||
(In reply to ben turner [:bent] from comment #6)
> Comment on attachment 655138 [details] [diff] [review]
> Ensure that Tasks and XPCOM events are dispatched with the same priority
>
> Review of attachment 655138 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Glad this was a simple fix!
>
> ::: ipc/glue/MessagePump.cpp
> @@ +210,5 @@
> > #endif
> > +
> > + // We can get to this point in startup with Tasks in our loop's
> > + // incoming_queue_ or pending_queue_, but without a matching
> > + // DoWorkRunnable(). In MessagePump::Run() above, we sensitivitely
>
> Nit: Let's use a real word instead of "sensitivitely".
Fixed. Also s/enqueue/enqueued/ below.
Assignee | ||
Comment 8•12 years ago
|
||
Comment 9•12 years ago
|
||
Comment 10•12 years ago
|
||
Green on a Try with a post m-c merge run (see the discussion in bug 774988 comment 6 and on).
https://tbpl.mozilla.org/?tree=Try&rev=eabc0f1e0f2e
Re-landed.
https://hg.mozilla.org/integration/mozilla-inbound/rev/779bdf71cde5
Updated•12 years ago
|
Flags: in-testsuite-
Assignee | ||
Comment 11•12 years ago
|
||
Thanks! :)
Comment 12•12 years ago
|
||
++ryan
Comment 13•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
You need to log in
before you can comment on or make changes to this bug.
Description
•