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

Issue 755136 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Jul 23
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

10.9% regression in media.tough_video_cases_tbmv2 at 493237:493347

Project Member Reported by liber...@chromium.org, Aug 14 2017

Issue description

See the link to graphs below.
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Aug 14 2017

All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=755136

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=f0f18f5022319b94f4b2b2919b09db3841ae09aa849de61a4649774fc972d91f


Bot(s) for this bug's original alert(s):

chromium-rel-mac11
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Aug 14 2017

Cc: jbau...@chromium.org
Owner: jbau...@chromium.org
Status: Assigned (was: Untriaged)

=== Auto-CCing suspected CL author jbauman@chromium.org ===

Hi jbauman@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : jbauman
  Commit : 5b05b9032e67ea278ae3a3d1eb2731d1dcdb68c5
  Date   : Thu Aug 10 06:02:54 2017
  Subject: Allow creating GLImage-backed textures with glTexStorage2D.

Bisect Details
  Configuration: mac_10_11_perf_bisect
  Benchmark    : media.tough_video_cases_tbmv2
  Metric       : memory:chrome:all_processes:reported_by_chrome:gpu:effective_size_avg/video.html?src_garden2_10s.webm_seek
  Change       : 10.95% | 9001736.0 -> 9987128.0

Revision             Result              N
chromium@493236      9001736 +- 0.0      6      good
chromium@493292      9001736 +- 0.0      6      good
chromium@493299      9001736 +- 0.0      6      good
chromium@493301      9001736 +- 0.0      6      good
chromium@493302      9987128 +- 0.0      6      bad       <--
chromium@493303      9987128 +- 0.0      6      bad
chromium@493306      9987128 +- 0.0      6      bad
chromium@493320      9987128 +- 0.0      6      bad
chromium@493347      9987128 +- 0.0      6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=video.html.src.garden2.10s.webm.seek media.tough_video_cases_tbmv2

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8971276603994965824


For feedback, file a bug with component Speed>Bisection

Comment 4 by zmo@chromium.org, Aug 14 2017

Cc: -jbau...@chromium.org kbr@chromium.org zmo@chromium.org piman@chromium.org vmi...@chromium.org
Owner: ----
Status: Available (was: Assigned)
jbauman no longer works on Chrome, but it will be a pity this CL doesn't land. We need someone else pick this up and figure out why the memory increase.
Project Member

Comment 5 by 42576172...@developer.gserviceaccount.com, Aug 14 2017

Cc: tguilb...@chromium.com
 Issue 755175  has been merged into this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 14 2017

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

commit 20bcdb14c7a6f0801522d23693f530d4f224d727
Author: jbauman <jbauman@chromium.org>
Date: Mon Aug 14 19:44:30 2017

Revert of Allow creating GLImage-backed textures with glTexStorage2D. (patchset #7 id:120001 of https://codereview.chromium.org/2945673002/ )

Reason for revert:
Caused increase in memory usage (maybe leak) on media.tough_video_cases_tbmv2

BUG= 755136 

Original issue's description:
> Allow creating GLImage-backed textures with glTexStorage2D.
>
> Add a GL_TEXTURE_BUFFER_USAGE_CHROMIUM TexParameter that can be
> specified before glTexStorage2D so it will create a texture that's
> backed by an anonymous GLImage. The compositor will use this for
> raster buffers that are drawn into using the GPU rasterizer (and thus
> don't need to be mapped) and are used with overlays. This will save a
> synchronous IPC through the browser into the GPU I/O thread when
> creating them.
>
> BUG=
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;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/2945673002
> Cr-Commit-Position: refs/heads/master@{#493302}
> Committed: https://chromium.googlesource.com/chromium/src/+/5b05b9032e67ea278ae3a3d1eb2731d1dcdb68c5

TBR=ericrk@chromium.org,zmo@chromium.org,dcheng@chromium.org,dcheng@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;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/2999923002
Cr-Commit-Position: refs/heads/master@{#494138}

[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/cc/resources/resource_provider.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/cc/resources/resource_provider.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/cc/test/test_web_graphics_context_3d.h
[delete] https://crrev.com/3ba55c47078a9bc603b35d7379216b050e9300b0/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_buffer.txt
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/GLES2/gl2extchromium.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/common/gles2_cmd_utils_autogen.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/gles2_cmd_validation_autogen.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/image_factory.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/image_factory.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/texture_manager.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/service/texture_manager.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/tests/gl_texture_storage_unittest.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/tests/texture_image_factory.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/command_buffer/tests/texture_image_factory.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/ipc/service/gpu_memory_buffer_factory_io_surface.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/ipc/service/gpu_memory_buffer_factory_io_surface.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/ui/gl/gl_bindings.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/ui/gl/gl_image.cc
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/ui/gl/gl_image.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/ui/gl/gl_image_io_surface.h
[modify] https://crrev.com/20bcdb14c7a6f0801522d23693f530d4f224d727/ui/gl/gl_image_io_surface.mm

Project Member

Comment 7 by 42576172...@developer.gserviceaccount.com, Aug 15 2017

Cc: ellenpli@google.com
 Issue 755617  has been merged into this issue.
Cc: -tguilb...@chromium.com tguilbert@chromium.org
Owner: sunn...@chromium.org
Status: Assigned (was: Available)
This is important for reducing IPC overhead for IO surface resources. I'll take a look.
Looking at these traces:

before: https://00e9e64bac7accd5086674be9c7899a3ffe90b16d1150eef7f-apidata.googleusercontent.com/download/storage/v1/b/chrome-telemetry-output/o/trace-file-id_11-2017-08-09_21-17-18-35032.html?qk=AD5uMEtG9jraDrJgPPiogi5urPwQHgcQq4Psoa0bjPSmS--VCVaTlZOk0XsY81UNVfpoaFsXEz9dyWDFY8n6YvKztW-K9aTIFJGXvqyPH-Ixd5qE4qgfG7YvrzZJNlLmlhv_lGmgpjw_2GQxMcIYn-2kEx-yTDiYzai0vuSCe4ae_p4DPNWReISBRfxuEjXLPDagZjTHw3ypnwMBfGasUukKoE89QN8xdlHGvSm-9tGMf0Xyhu3oKZDf6YKM2TV1ch-9a0rsVWF5I73CeNuLuBTkktSt5za-OXXyns8wVnJZF0UdX6UA0E1YeYV1NcWeBJszCIEVGwC-_enxtsB9xSD3aLGXm55rfHgKtQggk_XRzzLMdM6NE3p7Fj5XjnDeAytkqjaAsIzzGCqJ2mYHXFiwwr9CGogcKg6CqwpGtGZka0OImcGhECnVb44JCZsRUWFeweoeav91n4iiqzbZSVtjG1ZCTt9Ubnw9QN5OBa2slPxt3MJwheJIuG4F_2rJ5lDq9vnJUjDHm8QRJQnYAEYpQ6phnlhPbSF5ReoyA1vZCJBiORO54CFHWytis-Vow3kPrxL2j-r2uRBqw9G7Jdxj-MXfUj8GlBlwxddjHWY6pYWeBkK5syXjmi3XeqWZhfb1ccyvF-5OLhZzQNZCUUeIWF5v_23LZ2rmP-goypZ5qOR0aFMAm6sLrlQprrKRfS8chqDLiTI29wSLe0yc90LM5u0oWqnOA0YIfhJJTWhbTDRiZtm8GU3vF7goWI46FDOlyc2FXVojjR5phJYuCNs0FT3q8Owe4ny2C902gSuMeP2Vntu3JVStTyDryQmyhDrbwZAllTkKp-5U-7cLP30cuTs8sNXSLQ

after: https://00e9e64bac7accd5086674be9c7899a3ffe90b16d1150eef7f-apidata.googleusercontent.com/download/storage/v1/b/chrome-telemetry-output/o/trace-file-id_11-2017-08-09_21-17-18-35032.html?qk=AD5uMEtG9jraDrJgPPiogi5urPwQHgcQq4Psoa0bjPSmS--VCVaTlZOk0XsY81UNVfpoaFsXEz9dyWDFY8n6YvKztW-K9aTIFJGXvqyPH-Ixd5qE4qgfG7YvrzZJNlLmlhv_lGmgpjw_2GQxMcIYn-2kEx-yTDiYzai0vuSCe4ae_p4DPNWReISBRfxuEjXLPDagZjTHw3ypnwMBfGasUukKoE89QN8xdlHGvSm-9tGMf0Xyhu3oKZDf6YKM2TV1ch-9a0rsVWF5I73CeNuLuBTkktSt5za-OXXyns8wVnJZF0UdX6UA0E1YeYV1NcWeBJszCIEVGwC-_enxtsB9xSD3aLGXm55rfHgKtQggk_XRzzLMdM6NE3p7Fj5XjnDeAytkqjaAsIzzGCqJ2mYHXFiwwr9CGogcKg6CqwpGtGZka0OImcGhECnVb44JCZsRUWFeweoeav91n4iiqzbZSVtjG1ZCTt9Ubnw9QN5OBa2slPxt3MJwheJIuG4F_2rJ5lDq9vnJUjDHm8QRJQnYAEYpQ6phnlhPbSF5ReoyA1vZCJBiORO54CFHWytis-Vow3kPrxL2j-r2uRBqw9G7Jdxj-MXfUj8GlBlwxddjHWY6pYWeBkK5syXjmi3XeqWZhfb1ccyvF-5OLhZzQNZCUUeIWF5v_23LZ2rmP-goypZ5qOR0aFMAm6sLrlQprrKRfS8chqDLiTI29wSLe0yc90LM5u0oWqnOA0YIfhJJTWhbTDRiZtm8GU3vF7goWI46FDOlyc2FXVojjR5phJYuCNs0FT3q8Owe4ny2C902gSuMeP2Vntu3JVStTyDryQmyhDrbwZAllTkKp-5U-7cLP30cuTs8sNXSLQ

There are two extra textures in the GPU process of 512 KB each. The textures are not in the first share group which has all of the other textures and whose size doesn't change between the two runs.

If I were to guess, the share group with the extra share groups is the compositor context share group and the textures using the new tex storage type aren't being deleted correctly.
sunnyps@, could you please resolve this bug?
Status: WontFix (was: Assigned)
The original change was reverted, but a slightly different implementation of the same idea was landed in crrev.com/c/714654 and crrev.com/c/625064. That caused a regression too (although we believe it's a memory tracking issue and not a real regression) which is tracked in  issue 780510 .

Sign in to add a comment