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

Issue 657953004: content: Add RendererTaskQueueSelector. (Closed)

Created:
6 years, 2 months ago by rmcilroy
Modified:
6 years, 1 month ago
Reviewers:
alexclarke, no sievers, Sami
CC:
chromium-reviews, mkwst+moarreviews-renderer_chromium.org, darin-cc_chromium.org, jam, alex clarke (OOO till 29th)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

content: Add RendererTaskQueueSelector. This CL introduces a RendererTaskQueueSelector, which will be used by the upcoming RendererScheduler. A RendererTaskQueueSelector will be queried by the RenderScheduler's TaskQueueManager whenever it needs to select the next task to run. The RendererTaskQueueSelector chooses which queue the TaskQueueManager should service based on both priority and task age. Queues can be moved between priority levels or disabled at any time, which will be employed by the RendererScheduler when triggered by external signals. Design doc: https://docs.google.com/a/chromium.org/document/d/16f_RIhZa47uEK_OdtTgzWdRU0RFMTQWMpEWyWXIpXUo/edit BUG=391005 Committed: https://crrev.com/c5d76512415f21e9ae9b28acef97fa41efbed7ec Cr-Commit-Position: refs/heads/master@{#302007}

Patch Set 1 : #

Total comments: 25

Patch Set 2 : Address review comments. #

Total comments: 27

Patch Set 3 : Address Daniel's comments, without file rename #

Patch Set 4 : Update with files renamed #

Total comments: 2

Patch Set 5 : Fix comment #

Total comments: 2

Patch Set 6 : Fix unittest std::vector initialization #

Patch Set 7 : Add CONTENT_EXPORT #

Patch Set 8 : Add CONTENT_EXPORT to TaskQueueSelector. #

Patch Set 9 : Use NON_EXPORTED_BASE #

Unified diffs Side-by-side diffs Delta from patch set Stats (+417 lines, -0 lines) Patch
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
A content/renderer/scheduler/renderer_task_queue_selector.h View 1 2 3 4 5 6 7 8 1 chunk +91 lines, -0 lines 0 comments Download
A content/renderer/scheduler/renderer_task_queue_selector.cc View 1 2 3 1 chunk +122 lines, -0 lines 0 comments Download
A content/renderer/scheduler/renderer_task_queue_selector_unittest.cc View 1 2 3 4 5 1 chunk +201 lines, -0 lines 0 comments Download

Messages

Total messages: 43 (15 generated)
rmcilroy
Daniel, this is the first part of the RendererScheduler, PTAL, thanks!
6 years, 1 month ago (2014-10-27 08:51:40 UTC) #3
alexclarke
https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector.cc File content/renderer/scheduler/renderer_scheduler_selector.cc (right): https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector.cc#newcode58 content/renderer/scheduler/renderer_scheduler_selector.cc:58: return queueB->front() < queueA->front(); +1 on this helper method. ...
6 years, 1 month ago (2014-10-27 10:40:52 UTC) #5
Sami
Thanks Ross, the test looks great! https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector.cc File content/renderer/scheduler/renderer_scheduler_selector.cc (right): https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector.cc#newcode27 content/renderer/scheduler/renderer_scheduler_selector.cc:27: queue_priorities_[kControlPriority].clear(); Should we ...
6 years, 1 month ago (2014-10-27 11:23:02 UTC) #7
rmcilroy
Thanks for the reviews! https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector.cc File content/renderer/scheduler/renderer_scheduler_selector.cc (right): https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector.cc#newcode27 content/renderer/scheduler/renderer_scheduler_selector.cc:27: queue_priorities_[kControlPriority].clear(); On 2014/10/27 11:23:02, Sami ...
6 years, 1 month ago (2014-10-27 13:08:06 UTC) #8
Sami
Thanks, lgtm! https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector_unittest.cc File content/renderer/scheduler/renderer_scheduler_selector_unittest.cc (right): https://codereview.chromium.org/657953004/diff/20001/content/renderer/scheduler/renderer_scheduler_selector_unittest.cc#newcode10 content/renderer/scheduler/renderer_scheduler_selector_unittest.cc:10: #include "testing/gmock/include/gmock/gmock.h" On 2014/10/27 13:08:06, rmcilroy wrote: ...
6 years, 1 month ago (2014-10-27 13:44:41 UTC) #10
no sievers
https://codereview.chromium.org/657953004/diff/60001/content/renderer/scheduler/renderer_scheduler_selector.cc File content/renderer/scheduler/renderer_scheduler_selector.cc (right): https://codereview.chromium.org/657953004/diff/60001/content/renderer/scheduler/renderer_scheduler_selector.cc#newcode76 content/renderer/scheduler/renderer_scheduler_selector.cc:76: for (int queue_index : queue_priorities_[priority]) { Regarding the implementation, ...
6 years, 1 month ago (2014-10-28 01:21:01 UTC) #11
rmcilroy
Thanks for the review Daniel. All comments addressed. I had to rename the files, so ...
6 years, 1 month ago (2014-10-28 12:37:42 UTC) #12
no sievers
lgtm https://codereview.chromium.org/657953004/diff/100001/content/renderer/scheduler/renderer_task_queue_selector.h File content/renderer/scheduler/renderer_task_queue_selector.h (right): https://codereview.chromium.org/657953004/diff/100001/content/renderer/scheduler/renderer_task_queue_selector.h#newcode15 content/renderer/scheduler/renderer_task_queue_selector.h:15: // A RendererSchedulerSelector is a TaskQueueSelector which is ...
6 years, 1 month ago (2014-10-28 17:40:12 UTC) #13
no sievers
On 2014/10/28 17:40:12, sievers wrote: > lgtm > > https://codereview.chromium.org/657953004/diff/100001/content/renderer/scheduler/renderer_task_queue_selector.h > File content/renderer/scheduler/renderer_task_queue_selector.h (right): > ...
6 years, 1 month ago (2014-10-28 17:40:43 UTC) #14
rmcilroy
Thanks for the review! > oh you might want to update the cl description also ...
6 years, 1 month ago (2014-10-28 17:48:51 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/657953004/120001
6 years, 1 month ago (2014-10-28 17:49:44 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/657953004/120001
6 years, 1 month ago (2014-10-28 17:53:42 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg_tests_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_dbg_tests_recipe/builds/22870)
6 years, 1 month ago (2014-10-28 18:29:35 UTC) #22
Sami
https://codereview.chromium.org/657953004/diff/120001/content/renderer/scheduler/renderer_task_queue_selector_unittest.cc File content/renderer/scheduler/renderer_task_queue_selector_unittest.cc (right): https://codereview.chromium.org/657953004/diff/120001/content/renderer/scheduler/renderer_task_queue_selector_unittest.cc#newcode71 content/renderer/scheduler/renderer_task_queue_selector_unittest.cc:71: PushTasks(tasks, std::vector<size_t>{4, 3, 2, 1, 0}); Turns out we ...
6 years, 1 month ago (2014-10-28 18:31:48 UTC) #23
rmcilroy
https://codereview.chromium.org/657953004/diff/120001/content/renderer/scheduler/renderer_task_queue_selector_unittest.cc File content/renderer/scheduler/renderer_task_queue_selector_unittest.cc (right): https://codereview.chromium.org/657953004/diff/120001/content/renderer/scheduler/renderer_task_queue_selector_unittest.cc#newcode71 content/renderer/scheduler/renderer_task_queue_selector_unittest.cc:71: PushTasks(tasks, std::vector<size_t>{4, 3, 2, 1, 0}); On 2014/10/28 18:31:48, ...
6 years, 1 month ago (2014-10-28 18:37:40 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/657953004/140001
6 years, 1 month ago (2014-10-29 11:20:38 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg/builds/29468)
6 years, 1 month ago (2014-10-29 12:10:24 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/657953004/180001
6 years, 1 month ago (2014-10-29 15:03:57 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg/builds/29432)
6 years, 1 month ago (2014-10-29 16:11:44 UTC) #33
Sami
On 2014/10/29 16:11:44, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years, 1 month ago (2014-10-29 18:17:42 UTC) #34
rmcilroy
On 2014/10/29 18:17:42, Sami wrote: > On 2014/10/29 16:11:44, I haz the power (commit-bot) wrote: ...
6 years, 1 month ago (2014-10-29 23:34:27 UTC) #35
no sievers
On 2014/10/29 23:34:27, rmcilroy wrote: > On 2014/10/29 18:17:42, Sami wrote: > > On 2014/10/29 ...
6 years, 1 month ago (2014-10-29 23:43:11 UTC) #36
no sievers
On 2014/10/29 23:43:11, sievers wrote: > On 2014/10/29 23:34:27, rmcilroy wrote: > > On 2014/10/29 ...
6 years, 1 month ago (2014-10-29 23:43:25 UTC) #37
chromium-reviews
Actually I want to extend this in the SchedulerFuzzer On 29 Oct 2014 23:43, <sievers@chromium.org> ...
6 years, 1 month ago (2014-10-29 23:47:07 UTC) #38
rmcilroy
> If you can hide the subclass like Sami suggested that would be better. > ...
6 years, 1 month ago (2014-10-29 23:57:15 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/657953004/220001
6 years, 1 month ago (2014-10-29 23:59:45 UTC) #41
commit-bot: I haz the power
Committed patchset #9 (id:220001)
6 years, 1 month ago (2014-10-30 01:18:34 UTC) #42
commit-bot: I haz the power
6 years, 1 month ago (2014-10-30 01:19:10 UTC) #43
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/c5d76512415f21e9ae9b28acef97fa41efbed7ec
Cr-Commit-Position: refs/heads/master@{#302007}

Powered by Google App Engine
This is Rietveld 408576698