3.11 - 11.86% Explicit Memory / Heap Unclassified (linux64-qr) regression on push f2b5a9d987e8ea8a38bebd32f68d5cb04247580f (Thu Feb 14 2019)
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox66 | --- | unaffected |
firefox67 | --- | disabled |
firefox68 | --- | fixed |
People
(Reporter: igoldan, Assigned: kvark)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: backlog-deferred, perf, regression)
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
We have detected an awsy regression from push:
As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
12% Heap Unclassified linux64-qr opt stylo 165,886,453.18 -> 185,553,982.93
3% Explicit Memory linux64-qr opt stylo 461,747,111.37 -> 476,129,820.25
You can find links to graphs and comparison views for each of the above tests at: https://treeherder.mozilla.org/perf.html#/alerts?id=19382
On the page above you can see an alert for each affected platform as well as a link to a graph showing the history of scores for this test. There is also a link to a treeherder page showing the jobs in a pushlog format.
To learn more about the regressing test(s), please see: https://wiki.mozilla.org/AWSY/Tests
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
The difference in WR logic is that now we are pre-allocating 16 picture tiles on start, which would count for about 16Mb of GPU memory. This doesn't answer the question on why "Heap Unclassified" and "Explicit Memory" rose up, given that these are for CPU, and we don't want/expect the driver to allocate that storage on CPU side.
Assignee | ||
Comment 3•6 years ago
|
||
Ionuț, it's still on my radar to look at. The reason it's not a huge priority is because the regression is Linux only, so it's the specific drivers playing tricks on us.
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Assignee | ||
Comment 4•6 years ago
|
||
The change contains a number of incremental improvements with the main goal of:
- allocating exactly as many tile as required by the app
- respecting the picture caching option
Updated•6 years ago
|
Comment 7•6 years ago
|
||
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=236250906&repo=autoland&lineNumber=25839
Backout link: https://hg.mozilla.org/integration/autoland/rev/0fedcd9cdd51f06c9e177a1b81c04c7ac93e27bf
[task 2019-03-26T23:38:44.703Z] 23:38:44 INFO - REFTEST PROCESS-CRASH | file:///builds/worker/workspace/build/tests/reftest/tests/netwerk/test/crashtests/785753-1.html | application crashed [@ XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)]
[task 2019-03-26T23:38:44.703Z] 23:38:44 INFO - Crash dump filename: /tmp/tmp_6fuVL.mozrunner/minidumps/3f7c65db-8b16-42eb-d1cd-b61b327f6e47.dmp
[task 2019-03-26T23:38:44.703Z] 23:38:44 INFO - Operating system: Linux
[task 2019-03-26T23:38:44.703Z] 23:38:44 INFO - 0.0.0 Linux 4.4.0-1014-aws #14taskcluster1-Ubuntu SMP Tue Apr 3 10:27:00 UTC 2018 x86_64
[task 2019-03-26T23:38:44.704Z] 23:38:44 INFO - CPU: x86
[task 2019-03-26T23:38:44.704Z] 23:38:44 INFO - GenuineIntel family 6 model 62 stepping 4
[task 2019-03-26T23:38:44.704Z] 23:38:44 INFO - 2 CPUs
[task 2019-03-26T23:38:44.704Z] 23:38:44 INFO -
[task 2019-03-26T23:38:44.705Z] 23:38:44 INFO - GPU: UNKNOWN
[task 2019-03-26T23:38:44.705Z] 23:38:44 INFO -
[task 2019-03-26T23:38:44.705Z] 23:38:44 INFO - Crash reason: DUMP_REQUESTED
[task 2019-03-26T23:38:44.705Z] 23:38:44 INFO - Crash address: 0xef5cd1f7
[task 2019-03-26T23:38:44.706Z] 23:38:44 INFO - Process uptime: not available
[task 2019-03-26T23:38:44.706Z] 23:38:44 INFO -
[task 2019-03-26T23:38:44.706Z] 23:38:44 INFO - Thread 0 (crashed)
[task 2019-03-26T23:38:44.706Z] 23:38:44 INFO - 0 libxul.so!XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) [XPCWrappedNative.cpp:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 1325 + 0x0]
[task 2019-03-26T23:38:44.706Z] 23:38:44 INFO - eip = 0xef5cd1f7 esp = 0xff8991b0 ebp = 0xff899368 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.707Z] 23:38:44 INFO - esi = 0x0000015f edi = 0xf35945e4 eax = 0x9c954701 ecx = 0xea306a00
[task 2019-03-26T23:38:44.707Z] 23:38:44 INFO - edx = 0x9c954701 efl = 0x00200282
[task 2019-03-26T23:38:44.707Z] 23:38:44 INFO - Found by: given as instruction pointer in context
[task 2019-03-26T23:38:44.707Z] 23:38:44 INFO - 1 libxul.so!XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) [xpcprivate.h:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 1482 + 0x9]
[task 2019-03-26T23:38:44.708Z] 23:38:44 INFO - eip = 0xef5ce825 esp = 0xff899370 ebp = 0xff899438 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.708Z] 23:38:44 INFO - esi = 0xff8993d8 edi = 0xb1235020
[task 2019-03-26T23:38:44.708Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.708Z] 23:38:44 INFO - 2 libxul.so!js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [Interpreter.cpp:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 442 + 0xd]
[task 2019-03-26T23:38:44.709Z] 23:38:44 INFO - eip = 0xf24cd107 esp = 0xff899440 ebp = 0xff8994d8 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.709Z] 23:38:44 INFO - esi = 0xff8994f8 edi = 0xea30d800
[task 2019-03-26T23:38:44.709Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.709Z] 23:38:44 INFO - 3 libxul.so!js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) [Interpreter.cpp:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 589 + 0x17]
[task 2019-03-26T23:38:44.709Z] 23:38:44 INFO - eip = 0xf24ce061 esp = 0xff8994e0 ebp = 0xff899538 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.710Z] 23:38:44 INFO - esi = 0xea30d800 edi = 0xf53ae680
[task 2019-03-26T23:38:44.710Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.710Z] 23:38:44 INFO - 4 libxul.so!js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) [NativeObject.cpp:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 2215 + 0x12]
[task 2019-03-26T23:38:44.710Z] 23:38:44 INFO - eip = 0xf266cca9 esp = 0xff899540 ebp = 0xff8995f8 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.711Z] 23:38:44 INFO - esi = 0xea30d800 edi = 0xda4742e0
[task 2019-03-26T23:38:44.711Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.711Z] 23:38:44 INFO - 5 libxul.so!js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) [ObjectOperations-inl.h:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 117 + 0x1e]
[task 2019-03-26T23:38:44.711Z] 23:38:44 INFO - eip = 0xf24d0307 esp = 0xff899600 ebp = 0xff899698 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.712Z] 23:38:44 INFO - esi = 0xff899638 edi = 0xea30d800
[task 2019-03-26T23:38:44.712Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.712Z] 23:38:44 INFO - 6 libxul.so!js::jit::IonGetPropertyIC::update(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropertyIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) [IonIC.cpp:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 181 + 0x1b]
[task 2019-03-26T23:38:44.712Z] 23:38:44 INFO - eip = 0xf2b164d7 esp = 0xff8996a0 ebp = 0xff8998a8 ebx = 0xf53e8000
[task 2019-03-26T23:38:44.713Z] 23:38:44 INFO - esi = 0xe9cd3450 edi = 0xea30d800
[task 2019-03-26T23:38:44.713Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.713Z] 23:38:44 INFO - 7 0x2f112311
[task 2019-03-26T23:38:44.713Z] 23:38:44 INFO - eip = 0x2f112311 esp = 0xff8998b0 ebp = 0xd8b8b720 ebx = 0xff8998d4
[task 2019-03-26T23:38:44.714Z] 23:38:44 INFO - esi = 0xffffff8c edi = 0xe9cd3450
[task 2019-03-26T23:38:44.714Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.714Z] 23:38:44 INFO - 8 libxul.so!_fini + 0x11cd910
[task 2019-03-26T23:38:44.714Z] 23:38:44 INFO - eip = 0xf4702c98 esp = 0xff8998e0 ebp = 0xd8b8b720
[task 2019-03-26T23:38:44.714Z] 23:38:44 INFO - Found by: stack scanning
[task 2019-03-26T23:38:44.715Z] 23:38:44 INFO - 9 libxul.so!_fini + 0x1eb2c78
[task 2019-03-26T23:38:44.715Z] 23:38:44 INFO - eip = 0xf53e8000 esp = 0xff899938 ebp = 0xd8b8b720
[task 2019-03-26T23:38:44.715Z] 23:38:44 INFO - Found by: stack scanning
[task 2019-03-26T23:38:44.715Z] 23:38:44 INFO - 10 libxul.so!js::InternalBarrierMethods<JS::Value>::readBarrier(JS::Value const&) [Value.h:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 0 + 0x5]
[task 2019-03-26T23:38:44.716Z] 23:38:44 INFO - eip = 0xf28f197c esp = 0xff899940 ebp = 0xff899958
[task 2019-03-26T23:38:44.716Z] 23:38:44 INFO - Found by: stack scanning
[task 2019-03-26T23:38:44.716Z] 23:38:44 INFO - 11 libxul.so!JS::Compartment::getOrCreateWrapper(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JSObject*>) [Barrier.h:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 584 + 0x8]
[task 2019-03-26T23:38:44.716Z] 23:38:44 INFO - eip = 0xf2568647 esp = 0xff899960 ebp = 0x00100000 ebx = 0xe9e02590
[task 2019-03-26T23:38:44.717Z] 23:38:44 INFO - esi = 0xe9da6cc0 edi = 0xe9e02560
[task 2019-03-26T23:38:44.717Z] 23:38:44 INFO - Found by: call frame info
[task 2019-03-26T23:38:44.717Z] 23:38:44 INFO - 12 libxul.so!ShellCloneAndExecuteScript(JSContext*, unsigned int, JS::Value*) [Variant.h:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 544 + 0x3]
[task 2019-03-26T23:38:44.717Z] 23:38:44 INFO - eip = 0xf2700000 esp = 0xff89996c ebp = 0x00100000
[task 2019-03-26T23:38:44.717Z] 23:38:44 INFO - Found by: stack scanning
[task 2019-03-26T23:38:44.718Z] 23:38:44 INFO - 13 libxul.so!JS::Compartment::getNonWrapperObjectForCurrentCompartment(JSContext*, JS::MutableHandle<JSObject*>) [Compartment.cpp:ae1ddf7ebb7b85071331283e67db6ff39ba9c1c0 : 240 + 0x22]
[task 2019-03-26T23:38:44.718Z] 23:38:44 INFO - eip = 0xf256848e esp = 0xff899970 ebp = 0x00100000
[task 2019-03-26T23:38:44.718Z] 23:38:44 INFO - Found by: stack scanning
Assignee | ||
Comment 8•6 years ago
|
||
I'm seeing shader compile errors in the log (https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=236250906&repo=autoland&lineNumber=989):
23:50:46 INFO - C:\fakepath(252,25-29): error X4576: Input array signature parameter cannot be indexed dynamically.
These are not related to my changes here.
Looking at the other things in the log...
Comment 10•6 years ago
|
||
bugherder |
Reporter | ||
Updated•6 years ago
|
Comment 11•6 years ago
|
||
== Change summary for alert #20225 (as of Mon, 01 Apr 2019 05:20:36 GMT) ==
Improvements:
7% Heap Unclassified linux64-shippable-qr opt stylo 190,945,597.72 -> 178,312,869.71
6% Heap Unclassified linux64-shippable-qr opt stylo 190,243,386.37 -> 178,011,242.13
3% Explicit Memory linux64-shippable-qr opt stylo 477,412,657.55 -> 463,131,383.22
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=20225
Updated•6 years ago
|
Updated•3 years ago
|
Description
•