2.42 - 4.84% sessionrestore / sessionrestore_no_auto_restore / ts_paint / ts_paint_webext (windows10-64, windows7-32) regression on push ded3b65ca045796830bf03282370926b5810dd25 (Thu Dec 13 2018)
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox64 | --- | unaffected |
firefox65 | --- | fixed |
firefox66 | --- | fixed |
People
(Reporter: igoldan, Assigned: mjf)
References
Details
(Keywords: perf, regression, talos-regression)
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Assignee | ||
Comment 3•6 years ago
|
||
Updated•6 years ago
|
Comment 5•6 years ago
|
||
Updated•6 years ago
|
Comment 6•6 years ago
|
||
Comment 7•6 years ago
|
||
Comment 8•6 years ago
|
||
Comment 9•6 years ago
•
|
||
Comment 10•6 years ago
|
||
Comment 11•6 years ago
|
||
Do we know how much of the overhead is from the process launch itself (the RDD process contending with the main/content processes for CPU), vs. from blocking the parent process main thread waiting for the RDD process to start up and connect to the IPC channel? Profiling could help determine that, or adding code to record the time spent in RDDProcessManager::EnsureRDDReady
if the profiler doesn't work this early.
If it's mainly the latter, making RDD launch more asynchronous could help. Copying what I wrote in bug 1515826 comment #11:
RDDProcessManager::CreateContentBridge
would need to be changed to return a promise, and then theSendInitRemoteDecoder
call could be chained from that and happen asynchronously, and then in the content processRecvInitRemoveDecoder
does an async dispatch, so that's already unordered relative toPContent
IPC and in theory shouldn't need further changes.As for the “changed to return a promise“ part, chaining from
WhenProcessHandleReady
should be enough: the process handle is all that's needed to construct endpoints, andRDDProcessHost::InitAfterConnect
(and thusRDDChild::Open
) already doesn't happen-before anything blocking onWaitUntilConnected
, so making the latter run earlier shouldn't make a difference.
Comment 12•6 years ago
|
||
We do have a patch over in bug 1514874 which needs to get reviewed and ready for landing. So it looks like we should be able to fix this soon (assuming no further major blockers showing up).
One other factor which I believe hasn't been raised here before is that the RDD changed got uplifted to 65. So theoretically 65 should be affected by this as well. Are we running Talos on Beta as well, or is it only executed for Nightly?
Reporter | ||
Comment 13•6 years ago
|
||
(In reply to Nils Ohlmeier [:drno] from comment #12)
Are we running Talos on Beta as well, or is it only executed for Nightly?
Talos runs on Beta also.
Assignee | ||
Comment 14•6 years ago
|
||
The latest comparing current moz-central modified with RDD and AV1 pref'd off[1] vs RDD/AV1 pref'd on and launching RDD on-demand instead of at startup[2] is here:
https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=f94624b316c5&newProject=try&newRevision=ed9d5eb646eb&framework=1
[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=f94624b316c5
[2] https://treeherder.mozilla.org/#/jobs?repo=try&revision=ed9d5eb646eb
Comment 15•6 years ago
|
||
So here are the Talos results from running with the patch from bug 1514874:
Which clearly shows that starting RDD on demand reduces session_restore and ts_paint numbers by ~5%. So with that patch landed we should be back to where we were before RDD got turned on.
Reporter | ||
Comment 16•6 years ago
|
||
I'm confirming this got fixed:
== Change summary for alert #18722 (as of Sat, 12 Jan 2019 04:02:11 GMT) ==
Improvements:
6% sessionrestore windows7-32 pgo e10s stylo 307.38 -> 290.25
5% sessionrestore windows10-64 opt e10s stylo 323.67 -> 307.42
5% ts_paint windows7-32 pgo e10s stylo 319.33 -> 303.33
4% sessionrestore_no_auto_restore windows7-32 pgo e10s stylo 325.83 -> 311.33
4% sessionrestore_no_auto_restore windows10-64 opt e10s stylo 345.83 -> 330.50
4% ts_paint_webext windows7-32 pgo e10s stylo 319.38 -> 305.50
4% ts_paint windows10-64 opt e10s stylo 330.50 -> 316.17
4% ts_paint_webext windows10-64 opt e10s stylo 329.92 -> 316.25
2% ts_paint_webext windows10-64-qr opt e10s stylo 335.17 -> 327.33
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=18722
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 17•6 years ago
|
||
(In reply to Ionuț Goldan [:igoldan], Performance Sheriffing from comment #16)
I'm confirming this got fixed:
Thanks to bug 1514874.
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Description
•