Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Issue 735723005: cc: Adding creation location to debug BeginFrameArgs objects. (Closed)

Created:
6 years, 1 month ago by mithro-old
Modified:
6 years ago
CC:
cc-bugs_chromium.org, chromium-reviews, scheduler-bugs_chromium.org, simonhong
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

cc: Adding creation location to debug BeginFrameArgs objects. This allows easy tracing of a BeginFrameArgs object back to the BeginFrameSource that created it. This is very useful as we have multiple BeginFrameSources in the system now. The Primary / Background sources being a perfect example. While location tracking is highly optimised (as it is used in every base::Bind calls) it doubles the size of BeginFrameArgs objects. Hence we only enable location tracking in debug builds. In release builds we make sure to never create the Location objects in the first place, so no extra strings are found in the binary. This can be checked with the strings tool. BUG=346230 DEPS=742683002 Committed: https://crrev.com/06d1f3bfeece8b32c67bc41d4b4d7d6dcec01b32 Cr-Commit-Position: refs/heads/master@{#306326}

Patch Set 1 : #

Patch Set 2 : Patch without DEPS. #

Total comments: 15

Patch Set 3 : Adding typedefs #

Patch Set 4 : Fixing BeginFrameArgs users outside cc #

Patch Set 5 : Uploading without dependent cleanup patch. #

Patch Set 6 : Testing on try bots. #

Total comments: 17

Patch Set 7 : Uploading for trybot (has deps included!) #

Patch Set 8 : Change without deps (can't run on trybots) #

Total comments: 3

Patch Set 9 : Rebase onto master. #

Patch Set 10 : Using tracked_objects::Location reference. #

Patch Set 11 : Fixing for release builds. #

Patch Set 12 : Rebase onto master. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+319 lines, -205 lines) Patch
M cc/layers/picture_layer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 29 chunks +29 lines, -29 lines 0 comments Download
M cc/output/begin_frame_args.h View 1 2 3 4 5 6 7 8 9 3 chunks +27 lines, -1 line 0 comments Download
M cc/output/begin_frame_args.cc View 1 2 3 4 5 6 7 2 chunks +11 lines, -1 line 0 comments Download
M cc/output/begin_frame_args_unittest.cc View 1 2 3 4 5 6 7 4 chunks +29 lines, -14 lines 0 comments Download
M cc/resources/tile_manager_perftest.cc View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M cc/scheduler/begin_frame_source.cc View 1 3 4 6 7 3 chunks +4 lines, -3 lines 0 comments Download
M cc/scheduler/begin_frame_source_unittest.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +75 lines, -46 lines 0 comments Download
M cc/scheduler/scheduler_state_machine_unittest.cc View 1 2 3 4 5 6 7 8 50 chunks +56 lines, -52 lines 0 comments Download
M cc/scheduler/scheduler_unittest.cc View 1 2 3 4 5 6 7 8 6 chunks +11 lines, -6 lines 0 comments Download
M cc/test/begin_frame_args_test.h View 1 2 3 4 6 7 1 chunk +15 lines, -6 lines 0 comments Download
M cc/test/begin_frame_args_test.cc View 1 2 3 4 6 7 1 chunk +33 lines, -23 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_external_begin_frame_source.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -3 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M content/renderer/gpu/compositor_forwarding_message_filter_unittest.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/gpu/render_widget_compositor_unittest.cc View 1 2 3 4 6 7 1 chunk +3 lines, -2 lines 0 comments Download
M content/renderer/scheduler/renderer_scheduler_impl_unittest.cc View 1 2 3 4 6 7 3 chunks +5 lines, -5 lines 0 comments Download
M ui/compositor/compositor.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 41 (11 generated)
mithro-old
Hi! This patch depends on the clean up in https://codereview.chromium.org/742683002/ It adds the ability to ...
6 years, 1 month ago (2014-11-19 10:02:20 UTC) #3
danakj
https://codereview.chromium.org/735723005/diff/40001/cc/layers/picture_layer_impl_unittest.cc File cc/layers/picture_layer_impl_unittest.cc (right): https://codereview.chromium.org/735723005/diff/40001/cc/layers/picture_layer_impl_unittest.cc#newcode333 cc/layers/picture_layer_impl_unittest.cc:333: CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); Is there any need to pass a ...
6 years, 1 month ago (2014-11-19 15:46:00 UTC) #5
brianderson
https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc File cc/output/begin_frame_args.cc (right): https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc#newcode55 cc/output/begin_frame_args.cc:55: delete location; Would it be better to use a ...
6 years, 1 month ago (2014-11-19 20:43:30 UTC) #6
danakj
https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.h File cc/output/begin_frame_args.h (right): https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.h#newcode83 cc/output/begin_frame_args.h:83: #ifndef NDEBUG On 2014/11/19 20:43:30, brianderson wrote: > Do ...
6 years, 1 month ago (2014-11-19 20:45:45 UTC) #7
mithro-old
Currently investigating if there is a better way. I added a couple of typedefs which ...
6 years, 1 month ago (2014-11-20 04:30:13 UTC) #8
Sami
https://codereview.chromium.org/735723005/diff/120001/cc/output/begin_frame_args.h File cc/output/begin_frame_args.h (right): https://codereview.chromium.org/735723005/diff/120001/cc/output/begin_frame_args.h#newcode34 cc/output/begin_frame_args.h:34: #define BEGINFRAME_FROM_HERE (new FROM_HERE) Do we need to allocate ...
6 years, 1 month ago (2014-11-20 11:36:14 UTC) #9
picksi1
https://codereview.chromium.org/735723005/diff/120001/cc/output/begin_frame_args.cc File cc/output/begin_frame_args.cc (right): https://codereview.chromium.org/735723005/diff/120001/cc/output/begin_frame_args.cc#newcode13 cc/output/begin_frame_args.cc:13: switch (type) { should this be a const function? ...
6 years, 1 month ago (2014-11-20 14:04:20 UTC) #11
danakj
https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc File cc/output/begin_frame_args.cc (right): https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc#newcode55 cc/output/begin_frame_args.cc:55: delete location; On 2014/11/20 04:30:13, mithro wrote: > On ...
6 years, 1 month ago (2014-11-20 16:02:20 UTC) #12
danakj
https://codereview.chromium.org/735723005/diff/120001/cc/output/begin_frame_args.cc File cc/output/begin_frame_args.cc (right): https://codereview.chromium.org/735723005/diff/120001/cc/output/begin_frame_args.cc#newcode24 cc/output/begin_frame_args.cc:24: return "???"; On 2014/11/20 14:04:20, picksi1 wrote: > If ...
6 years, 1 month ago (2014-11-20 16:03:02 UTC) #13
danakj
https://codereview.chromium.org/735723005/diff/120001/cc/scheduler/begin_frame_source_unittest.cc File cc/scheduler/begin_frame_source_unittest.cc (right): https://codereview.chromium.org/735723005/diff/120001/cc/scheduler/begin_frame_source_unittest.cc#newcode168 cc/scheduler/begin_frame_source_unittest.cc:168: On 2014/11/20 14:04:20, picksi1 wrote: > nit: This looks ...
6 years, 1 month ago (2014-11-20 16:03:29 UTC) #14
Sami
On 2014/11/20 16:02:20, danakj wrote: > > Do we need to allocate FROM_HEREs on the ...
6 years, 1 month ago (2014-11-20 16:26:39 UTC) #15
danakj
On Thu, Nov 20, 2014 at 11:26 AM, <skyostil@chromium.org> wrote: > On 2014/11/20 16:02:20, danakj ...
6 years, 1 month ago (2014-11-20 16:28:57 UTC) #16
mithro-old
Hi Simon, It appears you didn't see that this patch was dependent on https://codereview.chromium.org/742683002 and ...
6 years, 1 month ago (2014-11-21 03:17:04 UTC) #17
mithro-old
> This feels like a micro-optimization. We create ~one BeginFrame per frame, but > FROM_HERE ...
6 years, 1 month ago (2014-11-21 05:57:47 UTC) #18
danakj
https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc File cc/output/begin_frame_args.cc (right): https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc#newcode55 cc/output/begin_frame_args.cc:55: delete location; On 2014/11/21 05:57:46, mithro wrote: > On ...
6 years, 1 month ago (2014-11-21 14:58:08 UTC) #21
danakj
https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc File cc/output/begin_frame_args.cc (right): https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc#newcode55 cc/output/begin_frame_args.cc:55: delete location; On 2014/11/21 14:58:07, danakj wrote: > On ...
6 years, 1 month ago (2014-11-21 15:03:43 UTC) #22
mithro-old
On 2014/11/21 15:03:43, danakj wrote: > https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc > File cc/output/begin_frame_args.cc (right): > > https://codereview.chromium.org/735723005/diff/40001/cc/output/begin_frame_args.cc#newcode55 > ...
6 years, 1 month ago (2014-11-21 16:30:55 UTC) #23
danakj
On Fri, Nov 21, 2014 at 11:30 AM, <mithro@mithis.com> wrote: > On 2014/11/21 15:03:43, danakj ...
6 years, 1 month ago (2014-11-21 16:33:30 UTC) #24
mithro-old
Looks like I need a couple more LGTMs from OWNERs for areas outside cc that ...
6 years ago (2014-11-27 01:08:47 UTC) #25
brianderson
lgtm
6 years ago (2014-11-27 01:14:20 UTC) #26
Sami
+aelias content/browser/android/ and content/renderer/scheduler lgtm.
6 years ago (2014-11-27 10:42:31 UTC) #28
danakj
ui/compositor LGTM
6 years ago (2014-11-27 15:07:29 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/735723005/260001
6 years ago (2014-11-28 00:33:01 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/27068)
6 years ago (2014-11-28 00:37:10 UTC) #33
mithro-old
On 2014/11/28 00:37:10, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years ago (2014-11-28 00:52:10 UTC) #34
aelias_OOO_until_Jul13
I'm not OWNERS for content/renderer/gpu/, adding sievers@
6 years ago (2014-12-01 19:52:51 UTC) #36
no sievers
lgtm
6 years ago (2014-12-01 20:21:19 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/735723005/280001
6 years ago (2014-12-02 02:15:28 UTC) #39
commit-bot: I haz the power
Committed patchset #12 (id:280001)
6 years ago (2014-12-02 02:19:36 UTC) #40
commit-bot: I haz the power
6 years ago (2014-12-02 02:20:28 UTC) #41
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/06d1f3bfeece8b32c67bc41d4b4d7d6dcec01b32
Cr-Commit-Position: refs/heads/master@{#306326}

Powered by Google App Engine
This is Rietveld 408576698