New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 725664 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Multiple WebglConformance_deqp_functional_gles3_texture* tests fail with "Out of memory" on multiple Linux and Windows bots

Project Member Reported by ynovikov@chromium.org, May 23 2017

Issue description

Started in https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28Intel%20HD%20530%29/builds/617

Failing stack:
#0 0x55e5e9099eb7 base::debug::StackTrace::StackTrace()
#1 0x55e5e90b3abd logging::LogMessage::~LogMessage()
#2 0x55e5e90daa8e base::(anonymous namespace)::OnNoMemory()
#3 0x55e5e913cfc9 GlibcMallocHook
#4 0x55e5e89714bf v8::internal::AccountingAllocator::GetSegment()
#5 0x55e5e8971a14 v8::internal::Zone::NewExpand()
#6 0x55e5e89718f0 v8::internal::Zone::New()
#7 0x55e5e82f086f v8::internal::compiler::BranchElimination::ReduceIf()
#8 0x55e5e83386b2 v8::internal::compiler::GraphReducer::ReduceTop()
#9 0x55e5e8338098 v8::internal::compiler::GraphReducer::ReduceNode()
#10 0x55e5e83e319f v8::internal::compiler::LateOptimizationPhase::Run()
#11 0x55e5e83db088 v8::internal::compiler::PipelineImpl::OptimizeGraph()
#12 0x55e5e83dab54 v8::internal::compiler::PipelineCompilationJob::ExecuteJobImpl()
#13 0x55e5e82cad2e v8::internal::CompilationJob::ExecuteJob()
#14 0x55e5e82c9638 v8::internal::OptimizingCompileDispatcher::CompileNext()
#15 0x55e5e82ca838 v8::internal::OptimizingCompileDispatcher::CompileTask::Run()
#16 0x55e5e73585c1 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
#17 0x55e5e915b167 base::(anonymous namespace)::WorkerThread::ThreadMain()
#18 0x55e5e910824c base::(anonymous namespace)::ThreadFunc()
#19 0x7f73219246ca start_thread
#20 0x7f731b3230af clone

There were 2 v8 rolls in the blamelist:
https://codereview.chromium.org/2883933002
https://codereview.chromium.org/2884003002
 
Labels: -Restrict-View-Google
Going to mark the affected tests Flaky.

Comment 2 by jochen@chromium.org, May 25 2017

Cc: mvstan...@chromium.org
Owner: hpayer@chromium.org
Status: Assigned (was: Untriaged)
looks like a regular oom
Summary: Multiple WebglConformance_deqp_functional_gles3_texture* tests fail with "Out of memory" on Linux Release (Intel HD 530) GPU.FYI (was: Multiple WebglConformance_deqp_functional_gles3_texturefiltering_* tests fail with "Out of memory" on Linux Release (Intel HD 530) GPU.FYI)
Before I disable the tests, here is some statistics about failures:

angle
07 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_25
44 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_26
02 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_27
48 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_28
02 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_29
28 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_31
09 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_32
04 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_33
03 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_35
06 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_00
04 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_03
04 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_07
08 WebglConformance_deqp_functional_gles3_texturefiltering_cube_combinations_00
33 WebglConformance_deqp_functional_gles3_texturefiltering_cube_combinations_01
01 WebglConformance_deqp_functional_gles3_textureshadow_2d_array_linear_greater_or_equal
01 WebglConformance_deqp_functional_gles3_textureshadow_2d_linear_less_or_equal
01 WebglConformance_deqp_functional_gles3_textureshadow_cube_linear_mipmap_linear_not_equal
01 WebglConformance_deqp_functional_gles3_textureshadow_cube_nearest_mipmap_linear_greater_or_equal
05 WebglConformance_deqp_functional_gles3_texturespecification_basic_copyteximage2d

noangle
05 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_25
46 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_26
51 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_28
36 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_31
05 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_32
02 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_33
02 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_34
01 WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_35
06 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_00
02 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_03
01 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_06
02 WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_07
06 WebglConformance_deqp_functional_gles3_texturefiltering_cube_combinations_00
37 WebglConformance_deqp_functional_gles3_texturefiltering_cube_combinations_01
01 WebglConformance_deqp_functional_gles3_texturefiltering_cube_formats_04
01 WebglConformance_deqp_functional_gles3_texturefiltering_cube_sizes_02
01 WebglConformance_deqp_functional_gles3_textureformat_sized_color_2d_array_npot_01
01 WebglConformance_deqp_functional_gles3_textureshadow_2d_linear_mipmap_linear_never
04 WebglConformance_deqp_functional_gles3_texturespecification_basic_copyteximage2d

Before https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28Intel%20HD%20530%29/builds/662 mostly these tests failed:
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_26
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_28
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_31
WebglConformance_deqp_functional_gles3_texturefiltering_cube_combinations_01

From it to https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28Intel%20HD%20530%29/builds/667 these:
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_25
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_28

Now, these tests fail:
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_26
WebglConformance_deqp_functional_gles3_texturefiltering_3d_combinations_28
WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_00
WebglConformance_deqp_functional_gles3_texturefiltering_cube_combinations_00

Blockedon: 717023
Cc: kbr@chromium.org
Just found a previous occurrence of this in  issue 717023 .
It was closed as "Won't Fix" after marking the tests Flaky.
This time, though, looks like some tests always fail.
Going to mark the tests Flaky, to be certain of that.
Blockedon: -717023
Oh, found an original  issue 712798  where it all started, and never was investigated.
Looks like I suspected this V8 roll at that time https://codereview.chromium.org/2818233004.

And one more duplicate,  issue 715881 .

Going to keep this issue, since looks like I went through the proper triage process this time and it got assigned.
Cc: hablich@chromium.org
 Issue 715881  has been merged into this issue.
Cc: neis@chromium.org senorblanco@chromium.org hpayer@chromium.org jgruber@chromium.org bradnelson@chromium.org
 Issue 712798  has been merged into this issue.
Cc: zmo@chromium.org ynovikov@chromium.org jmad...@chromium.org
 Issue 717023  has been merged into this issue.
Project Member

Comment 9 by bugdroid1@chromium.org, May 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6fc7d26fed0c458d1d0b86c2f53248919d98869c

commit 6fc7d26fed0c458d1d0b86c2f53248919d98869c
Author: ynovikov <ynovikov@chromium.org>
Date: Sat May 27 02:37:40 2017

Suppress Linux AMD and Intel WebGL2 CTS failures

deqp/functional/gles3/texturefiltering/*
deqp/functional/gles3/textureformat/*
deqp/functional/gles3/textureshadow/*
deqp/functional/gles3/texturespecification/*
on Linux Intel

conformance2/textures/image_data/tex-3d-rgb565-rgb-unsigned_byte.html
conformance2/textures/image_data/tex-3d-rgb565-rgb-unsigned_short_5_6_5.html
conformance2/textures/image_data/tex-3d-rgb5_a1-rgba-unsigned_byte.html
on Linux AMD

BUG= 701138 ,  725664 
TBR=kbr@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2907753003
Cr-Commit-Position: refs/heads/master@{#475223}

[modify] https://crrev.com/6fc7d26fed0c458d1d0b86c2f53248919d98869c/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Cc: -ynovikov@chromium.org mstarzinger@chromium.org mythria@chromium.org
Owner: bmeu...@chromium.org
I suspect https://chromium.googlesource.com/v8/v8/+/558cee1d147947ab65fd3c99f9812093c6fc764a
Michi mentioned that there were some follow-up fixes (+mythria, you landed something). Did the OOM rate decrease after the fixes landed?
In general, I can see that we use more memory for better performance but it should not be terrible. Benedikt, can you make a call? If you don't think it is an issue please close it as won't fix.
Cc: bmeu...@chromium.org
Owner: mythria@chromium.org
There's now an upper limit on the nodes that we inline, but maybe that needs more tweaking. Mythri was looking into tuning the inlining heuristics.
I am not actively looking at tuning inlining heuristics. Currently we use AST node count for the inlining decisions, we soon want to change it to may be bytecode size or bytecode count. That would require tuning the heuristics again. So, I kind of stalled the work on tuning the heuristics.

I did land few fixes related to inlining: 
https://chromium-review.googlesource.com/c/509554/
https://chromium-review.googlesource.com/c/508668/



The first cl reduces the amount of inlining and the second one increases the threshold so potentially higher amount of inlining.
Labels: OS-Windows
Summary: Multiple WebglConformance_deqp_functional_gles3_texture* tests fail with "Out of memory" on Linux Release (Intel HD 530) and Win10 Release (NVIDIA Quadro P400) (was: Multiple WebglConformance_deqp_functional_gles3_texture* tests fail with "Out of memory" on Linux Release (Intel HD 530) GPU.FYI)
Started happening on Win10 Release (NVIDIA Quadro P400) since
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win10%20Release%20%28NVIDIA%20Quadro%20P400%29/builds/983

Similar stack trace:
  	0a2bf4cc 6afd8eac e0000008 00000001 00000001 KERNELBASE!RaiseException+0x62
  	0a2bf4e4 6b0021b5 00100000 0a2bf508 6af8d7ef chrome_child!base::EnableTerminationOnOutOfMemory+0x3c
  	0a2bf4f0 6af8d7ef 00100000 00100000 00000010 chrome_child!base::allocator::WinCallNewHandler+0x15
  	0a2bf508 6ada747b 00100000 00000010 0b1d7a40 chrome_child!malloc+0x2f
  	0a2bf520 6ada7934 00100000 0b1d7a40 00000010 chrome_child!v8::internal::AccountingAllocator::GetSegment+0x1b
  	0a2bf538 6ada7878 00100000 00000010 0b1d7a40 chrome_child!v8::internal::Zone::NewSegment+0x14
  	0a2bf54c 6ada7784 00000010 0a2bf6f0 107bd0a0 chrome_child!v8::internal::Zone::NewExpand+0x98
  	0a2bf560 6a94c5b6 0000000c 0a2bf6f0 107bd0f0 chrome_child!v8::internal::Zone::New+0x34
  	0a2bf578 6a94ca69 0b1d7a40 107bd0a0 107bd001 chrome_child!v8::internal::compiler::BranchElimination::ControlPathConditions::AddCondition+0x26
  	0a2bf5b8 6a94c6dd 0a2bf5ec 107bd064 07ed924c chrome_child!v8::internal::compiler::BranchElimination::ReduceDeoptimizeConditional+0xb9
  	0a2bf5d0 6a985345 0a2bf5ec 107bd0f0 0a2bf758 chrome_child!v8::internal::compiler::BranchElimination::Reduce+0x3d
  	0a2bf5f0 6a9856b2 0a2bf6b4 107bd0f0 0a2bf758 chrome_child!v8::internal::compiler::GraphReducer::Reduce+0x25
  	0a2bf6c0 6a9853e5 0b1d7a40 0b1d7a40 07e6c0bc chrome_child!v8::internal::compiler::GraphReducer::ReduceTop+0x1b2
  	0a2bf6d8 6a9853ab 0b0d1278 6aa01c09 00000000 chrome_child!v8::internal::compiler::GraphReducer::ReduceNode+0x35
  	0a2bf6e0 6aa01c09 00000000 07e6c16c 6d29714c chrome_child!v8::internal::compiler::GraphReducer::ReduceGraph+0xb
  	0a2bf7d8 6aa007f7 07e6c0bc 0b1d7a40 08768e90 chrome_child!v8::internal::compiler::LateOptimizationPhase::Run+0x289
  	0a2bf800 6a9fee71 07e434a0 6a936f56 086ef1a8 chrome_child!v8::internal::compiler::PipelineImpl::OptimizeGraph+0x777
  	0a2bf808 6a936f56 086ef1a8 6ddc3ef0 b2f775b9 chrome_child!v8::internal::compiler::PipelineCompilationJob::ExecuteJobImpl+0x11
  	0a2bf850 6a9342a2 07d2d518 6d39350c 6d799ec4 chrome_child!v8::internal::CompilationJob::ExecuteJob+0x126
  	0a2bf8a4 6b015dd9 0af3cfd0 00000000 6be00e87 chrome_child!v8::internal::OptimizingCompileDispatcher::CompileTask::Run+0xd2
  	0a2bf98c 6b008e14 6d393534 07d2d518 07e6ac20 chrome_child!base::debug::TaskAnnotator::RunTask+0x199
  	0a2bfbb4 6b0091f5 07d2d518 07e6ac20 00000000 chrome_child!base::internal::TaskTracker::PerformRunTask+0x434
  	0a2bfc84 6b029ac9 00e6ac20 08836010 749d8820 chrome_child!base::internal::TaskTracker::RunNextTask+0xe5
  	0a2bfd68 6afadf72 6afadee0 6afadee0 08836010 chrome_child!base::internal::SchedulerWorker::Thread::ThreadMain+0x409

PS. This https://codereview.chromium.org/2950833002 v8 roll is in 983 blamelist.
Cc: geoffl...@chromium.org u...@chromium.org khushals...@chromium.org machenb...@chromium.org
 Issue 735527  has been merged into this issue.
Note: in https://build.chromium.org/p/chromium.gpu.fyi/builders/Win10%20Release%20%28NVIDIA%20Quadro%20P400%29/builds/1026 a suppression https://chromium-review.googlesource.com/548100 for  issue 735527  landed, which was not wide enough.
Previously WebglConformance_deqp_functional_gles3_texturefiltering_3d_formats_05 was failing, after the suppression it shifted to WebglConformance_deqp_functional_gles3_texturefiltering_3d_sizes_04.

Going to have Win suppression matching Linux.
Given how many tests are suppressed now, this may be a P0.
Project Member

Comment 19 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/40001e05a76c7b5423b810186f3ef4c33b657f13

commit 40001e05a76c7b5423b810186f3ef4c33b657f13
Author: Yuly Novikov <ynovikov@chromium.org>
Date: Tue Jun 27 08:02:18 2017

Update WebGL1 and WebGL2 expectations

conformance/programs/program-test.html
    Flaky on Win NVIDIA passthrough d3d11
conformance/ogles/GL/atan/atan_001_to_008.html
    Fail on Win10 NVIDIA Quadro P400 d3d9
conformance2/textures/svg_image/tex-2d-rgb565-rgb-unsigned_short_5_6_5.html
    Flaky on Win
deqp/functional/gles3/texturefiltering/*
deqp/functional/gles3/textureformat/*
deqp/functional/gles3/textureshadow/*
deqp/functional/gles3/texturespecification/*
    Flaky on Win

BUG= 725664 , 736926 , 737016 , 737018 
TBR=kbr@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I7f1984f8ae3ab68e6c84999808c316850959bee1
Reviewed-on: https://chromium-review.googlesource.com/549259
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482562}
[modify] https://crrev.com/40001e05a76c7b5423b810186f3ef4c33b657f13/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/40001e05a76c7b5423b810186f3ef4c33b657f13/content/test/gpu/gpu_tests/webgl_conformance_expectations.py

Comment 20 by kbr@chromium.org, Jun 27 2017

This P1 issue has been open for a long time and duplicate bugs like  Issue 735527  have been filed against it. Could the V8 team please try to reproduce this in house now? Thank you.

Comment 21 by kbr@chromium.org, Jun 27 2017

Summary: Multiple WebglConformance_deqp_functional_gles3_texture* tests fail with "Out of memory" on multiple Linux and Windows bots (was: Multiple WebglConformance_deqp_functional_gles3_texture* tests fail with "Out of memory" on Linux Release (Intel HD 530) and Win10 Release (NVIDIA Quadro P400))
I will try to reproduce them locally and try to see what is the actual problem.
This seems to happen on linux only with Intel HD 530. And on windows with NVIDIA quadro P400. Does any of these two configurations have an associated trybot? I checked the optional gpu test trybot and on linux it seems to only use Nvidia.

Another option would be if any of these bots were on swarming. We could easily trigger our own tasks to analyze. But both bots don't seem to be on swarming. Is this failing on any bot that happens to be on swarming or that has a trybot?

Comment 24 by kbr@chromium.org, Jun 29 2017

Apologies. The Labs team is going to upgrade the Windows bots to use the P400s but this work is a large task and is scheduled hopefully for the next quarter.

I suspect the reason these bots are failing and the Swarmed ones aren't is that the Swarmed ones shard the tests. The failures are probably happening because by the time we get to run these tests, the single renderer process has run tons of earlier tests, and memory pressure is high.

Can you please try reproducing this on your local Windows or Linux workstation with a Release build (maybe with dcheck_always_on=true, at least that's how I usually run) and:

./content/test/gpu/run_gpu_integration_test.py webgl_conformance --browser=release --webgl-conformance-version=2.0.1

The problem is that this test suite is massive and takes over an hour to run. It may be possible to repro the OOM by just running the problematic tests:

--test-filter=deqp_functional_gles3_texture

Please give this a try and see what you find. Thanks.

Another option would be to investigate this directly on Win10 Release (NVIDIA Quadro P400), Win 7 Release (AMD) or Linux Release (Intel HD 530) following
https://sites.google.com/a/google.com/client3d/documents/chrome-internal-gpu-pixel-wrangling-instructions
Thanks a lot for the detailed instructions. I tried to reproduce it locally on a linux (with a Nvidia GPU though). I was not successful. It could be also because my desktop has more memory. I will try on a windows machine on Monday. This windows machine has a Nvidia Quadro K600 GPU. Its a shared machine and is not free today. If I can't reproduce it on windows, I will try it directly on the bots.

I also started working on inlining heuristics, if the original problem was indeed due to inlining it may get fixed. Though I am not so sure it is because of that.
If I understand correctly, ./content/test/gpu/run_gpu_integration_test.py starts a server and then runs the tests in the browser. Is there a command to start this server independently. This way I can use chrome://tracing or other tools to measure the memory usage. 

From what I saw, disabling optimizations significantly reduces the memory usage in V8. Disabling optimizations (--no-opt) reduces the memory usage of V8 from 1132MiB to 19.5MiB. I will continue investigating it. 

Comment 28 by kbr@chromium.org, Jun 30 2017

Yes, all that that harness does is serve up the content under src/third_party/webgl/src/ and navigate to the tests' pages. You can do the same by cd'ing into that directory and running:
python -m SimpleHTTPServer

and then opening your browser and navigating to localhost:8000/sdk/tests/webgl-conformance-tests.html , changing the test version to 2.0.1 (beta), searching for (for example) deqp/functional/gles3/texturefiltering, and clicking "run" to run all of those tests at once. You'd need to click multiple "run" buttons though in order to get the same result as the run_gpu_integration_test.py script.

I am now looking at deqp/functional/gles3/texturefiltering/3d_combinations_26 test, which uses a lot of memory during the branch elimination phase when optimizing a particularly large function: "tcuTexLookupVerifier.isNearestMipmapLinearSampleResultValid_CoordAsVec3". 

There are multiple problems here.
1. When inlining, we do not consider the size of the parent function. This function is already a large function and then we inline multiple functions making this even larger.

2. In branch elimination phase we maintain the condition chains. This is not optimized for memory. We unconditionally create nodes (in AddCondition) and throw away if there was no change in the chain (in UpdateConditions). We can be more smarter about checking if we actually need the chain before creating it. 

3. There are a lot of revisitations in the branch eliminate phase. This is not expected. I am still investigating the reason for this.

I think the real problem is the large number of revisitations here. I am working on cls to fix issues 1 and  2  and also continue investigating 3. 
The reason for a large number of revisits is because we use a depth first traversal when revisiting the nodes. This in some cases causes a large number of revisits since the changes are propagated down the tree before visiting some of the top level nodes that are marked for a revisit. When we revisit these top level nodes we again propagate the values, causing several iterations. I have a cl: https://chromium-review.googlesource.com/c/563301/ that changes the order to breadth first that fixes this problem. This brings down the memory usage of V8 from 1.5 GB to 20MB.
x75 improvement, hooray!
Thanks for tracking this down!
Project Member

Comment 32 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e04f33ad6f563f61ae1613e71c2c33e7f0451a03

commit e04f33ad6f563f61ae1613e71c2c33e7f0451a03
Author: Mythri <mythria@chromium.org>
Date: Fri Jul 07 13:34:12 2017

[Turbofan] Change the revisit order to breadth first instead of depth first.

When there are some changes in the graph, we mark the uses of the reduced
node for revisiting. These are pushed onto a stack and hence follow a
depth first traversal. This sometimes leads to propogating the changes
down the graph and again revisiting the entire graph because of the
nodes that were marked for revisit earlier.

Bug:  chromium:725664 
Change-Id: I036fd7096c422565a2851b109aba2b4c438403c0
Reviewed-on: https://chromium-review.googlesource.com/563301
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Mythri Alle <mythria@google.com>
Cr-Commit-Position: refs/heads/master@{#46480}
[modify] https://crrev.com/e04f33ad6f563f61ae1613e71c2c33e7f0451a03/src/compiler/graph-reducer.cc
[modify] https://crrev.com/e04f33ad6f563f61ae1613e71c2c33e7f0451a03/src/compiler/graph-reducer.h

Comment 33 by kbr@chromium.org, Jul 7 2017

Awesome investigation and improvement mythria@!

Project Member

Comment 34 by bugdroid1@chromium.org, Jul 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3eb313061fb74554e66b7222834d191efb575a55

commit 3eb313061fb74554e66b7222834d191efb575a55
Author: Mythri Alle <mythria@chromium.org>
Date: Wed Jul 12 09:07:47 2017

Update WebGL2 test expectations.

After the fix to V8 (https://chromium-review.googlesource.com/c/563301/)
the following tests should not fail anymore.
deqp/functional/gles3/texturefiltering/*
deqp/functional/gles3/textureformat/*
deqp/functional/gles3/textureshadow/*
deqp/functional/gles3/texturespecification/*

Bug:  chromium:725664 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I66255692b1c3a763a3cb1ccb087d00b7c1828328
Reviewed-on: https://chromium-review.googlesource.com/552551
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485900}
[modify] https://crrev.com/3eb313061fb74554e66b7222834d191efb575a55/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Project Member

Comment 35 by bugdroid1@chromium.org, Jul 12 2017

Labels: merge-merged-6.0
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/54d17081353eff895fa15de06be893b9f042a78c

commit 54d17081353eff895fa15de06be893b9f042a78c
Author: Mythri Alle <mythria@chromium.org>
Date: Wed Jul 12 16:57:48 2017

Merged: [Turbofan] Change the revisit order to breadth first instead of depth first.

Revision: e04f33ad6f563f61ae1613e71c2c33e7f0451a03

BUG= chromium:725664 
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
R=rmcilroy@chromium.org

Change-Id: I0780e827a339827ec441dc2849c98b8ef34b21ad
Reviewed-on: https://chromium-review.googlesource.com/568558
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/branch-heads/6.0@{#69}
Cr-Branched-From: 97dbf624a5eeffb3a8df36d24cdb2a883137385f-refs/heads/6.0.286@{#1}
Cr-Branched-From: 12e6f1cb5cd9616da7b9d4a7655c088778a6d415-refs/heads/master@{#45439}
[modify] https://crrev.com/54d17081353eff895fa15de06be893b9f042a78c/src/compiler/graph-reducer.cc
[modify] https://crrev.com/54d17081353eff895fa15de06be893b9f042a78c/src/compiler/graph-reducer.h

Project Member

Comment 36 by bugdroid1@chromium.org, Jul 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2ea3b16cadff12b94aa6e52499bfad516bed8eab

commit 2ea3b16cadff12b94aa6e52499bfad516bed8eab
Author: Mythri <mythria@chromium.org>
Date: Wed Jul 12 17:02:29 2017

[TurboFan] In branch-elimination create ControlPathConditions only if needed

In branch elimination phase, control paths are updated when visiting
the nodes. We first create a control path and then check if it is
same as the exisiting one. If it is the same we discard the newly
created one. Since these are created in the zone memory the memory
will not be released till the entire pass is over. This cl changes
it to first check if the control path has changed and create a new
path only if it has changed.

Bug:  chromium:725664 ,v8:6150
Change-Id: I67fbea13036f85999c7ed366c571f8dc1c17a023
Reviewed-on: https://chromium-review.googlesource.com/563406
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46598}
[modify] https://crrev.com/2ea3b16cadff12b94aa6e52499bfad516bed8eab/src/compiler/branch-elimination.cc
[modify] https://crrev.com/2ea3b16cadff12b94aa6e52499bfad516bed8eab/src/compiler/branch-elimination.h

Status: Fixed (was: Assigned)
There are no OOM failures on the last 5-6 builds after enabling these tests on both Linux Release (Intel HD 530) and Win10 Release (NVIDIA Quadro P400) bots. There are a couple of failures on Win10 on webgl_conformance_d3d9_tests but those are not because of memory. I am marking this as fixed :).

Please feel free to reopen if necessary.

Comment 38 by kbr@chromium.org, Jul 13 2017

Thank you Mythri for tracking this down! This is a huge improvement for compilation of large methods!

Sign in to add a comment