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

Issue 1432263002: (reland) Adds TimeDomains to the TaskQueueManager (Closed)

Created:
5 years, 1 month ago by alex clarke (OOO till 29th)
Modified:
5 years, 1 month ago
Reviewers:
Sami
CC:
chromium-reviews, scheduler-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Adds TimeDomains to the TaskQueueManager This refactor isolates the logic dealing with delayed tasks, making it easier to support multiple independent virtual time sources. BUG=546953 Committed: https://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776 Cr-Commit-Position: refs/heads/master@{#360641} Committed: https://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84 Cr-Commit-Position: refs/heads/master@{#360802}

Patch Set 1 #

Patch Set 2 : Remove unwanted files #

Patch Set 3 : Remove refcount cycle #

Patch Set 4 : WeakPtr isn't thread safe :( #

Patch Set 5 : Clear the delegate in unregister #

Patch Set 6 : Rebased #

Total comments: 12

Patch Set 7 : Rebased #

Patch Set 8 : Lots of changes #

Patch Set 9 : Addressing some more feedback. #

Total comments: 16

Patch Set 10 : Added a VirtualTimeDomain and methods to migrate task queues from one domain to another #

Patch Set 11 : Forgot to change VirtualTimeDomain::GetName #

Total comments: 12

Patch Set 12 : Try to fix test bug #

Total comments: 20

Patch Set 13 : Some tweaks #

Patch Set 14 : Remove disctionary name #

Patch Set 15 : Removed NextPendingDelayedTaskRunTime #

Total comments: 2

Patch Set 16 : Try to avoid locking #

Patch Set 17 : Tweak #

Patch Set 18 : Passed it in via the closure instead #

Patch Set 19 : Fix thread_hop_task DCHECK #

Unified diffs Side-by-side diffs Delta from patch set Stats (+917 lines, -279 lines) Patch
M components/components_tests.gyp View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M components/scheduler/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
D components/scheduler/base/lazy_now.h View 1 2 3 4 5 6 7 2 chunks +0 lines, -2 lines 0 comments Download
D components/scheduler/base/lazy_now.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -3 lines 0 comments Download
A components/scheduler/base/real_time_domain.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +42 lines, -0 lines 0 comments Download
A components/scheduler/base/real_time_domain.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +43 lines, -0 lines 0 comments Download
M components/scheduler/base/task_queue.h View 1 2 3 4 5 6 7 8 9 4 chunks +12 lines, -0 lines 0 comments Download
M components/scheduler/base/task_queue_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 7 chunks +15 lines, -12 lines 0 comments Download
M components/scheduler/base/task_queue_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 17 chunks +73 lines, -29 lines 0 comments Download
M components/scheduler/base/task_queue_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +17 lines, -45 lines 0 comments Download
M components/scheduler/base/task_queue_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 chunks +34 lines, -152 lines 0 comments Download
M components/scheduler/base/task_queue_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +97 lines, -15 lines 0 comments Download
M components/scheduler/base/task_queue_selector_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +7 lines, -3 lines 0 comments Download
M components/scheduler/base/task_queue_sets_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +11 lines, -2 lines 0 comments Download
M components/scheduler/base/test_time_source.cc View 1 chunk +3 lines, -1 line 0 comments Download
A components/scheduler/base/time_domain.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +119 lines, -0 lines 0 comments Download
A components/scheduler/base/time_domain.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +178 lines, -0 lines 0 comments Download
A components/scheduler/base/time_domain_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +148 lines, -0 lines 0 comments Download
A components/scheduler/base/virtual_time_domain.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +45 lines, -0 lines 0 comments Download
A components/scheduler/base/virtual_time_domain.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +46 lines, -0 lines 0 comments Download
M components/scheduler/child/idle_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -5 lines 0 comments Download
M components/scheduler/child/idle_helper_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +6 lines, -4 lines 0 comments Download
M components/scheduler/child/scheduler_helper.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M components/scheduler/child/scheduler_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -5 lines 0 comments Download
M components/scheduler/scheduler.gypi View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 72 (29 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/20001
5 years, 1 month ago (2015-11-11 16:20:52 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_ninja/builds/92950)
5 years, 1 month ago (2015-11-11 16:30:11 UTC) #5
alex clarke (OOO till 29th)
PTAL :)
5 years, 1 month ago (2015-11-11 16:58:20 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/20001
5 years, 1 month ago (2015-11-12 10:57:35 UTC) #9
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/77904)
5 years, 1 month ago (2015-11-12 12:05:05 UTC) #11
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/40001
5 years, 1 month ago (2015-11-12 13:36:48 UTC) #13
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/128156)
5 years, 1 month ago (2015-11-12 14:02:50 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/60001
5 years, 1 month ago (2015-11-12 14:38:06 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/100001
5 years, 1 month ago (2015-11-16 10:37:24 UTC) #19
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-16 11:51:54 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/120001
5 years, 1 month ago (2015-11-17 10:19:28 UTC) #23
Sami
https://codereview.chromium.org/1432263002/diff/100001/components/scheduler/base/delayed_task_delegate.h File components/scheduler/base/delayed_task_delegate.h (right): https://codereview.chromium.org/1432263002/diff/100001/components/scheduler/base/delayed_task_delegate.h#newcode20 components/scheduler/base/delayed_task_delegate.h:20: class SCHEDULER_EXPORT DelayedTaskDelegate This class exposes public functions that ...
5 years, 1 month ago (2015-11-17 10:31:06 UTC) #24
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-17 11:32:31 UTC) #26
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1432263002/diff/100001/components/scheduler/base/delayed_task_delegate.h File components/scheduler/base/delayed_task_delegate.h (right): https://codereview.chromium.org/1432263002/diff/100001/components/scheduler/base/delayed_task_delegate.h#newcode20 components/scheduler/base/delayed_task_delegate.h:20: class SCHEDULER_EXPORT DelayedTaskDelegate On 2015/11/17 10:31:06, Sami wrote: ...
5 years, 1 month ago (2015-11-18 15:30:15 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/160001
5 years, 1 month ago (2015-11-18 15:30:27 UTC) #29
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/142454)
5 years, 1 month ago (2015-11-18 16:02:13 UTC) #31
Sami
I really like how this moves all the delayed task and time handling into a ...
5 years, 1 month ago (2015-11-18 18:36:24 UTC) #32
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1432263002/diff/160001/components/scheduler/base/task_queue_impl.cc File components/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/1432263002/diff/160001/components/scheduler/base/task_queue_impl.cc#newcode255 components/scheduler/base/task_queue_impl.cc:255: // TaskQueueManager::UpdateQueues no longer needs to consider On ...
5 years, 1 month ago (2015-11-19 12:20:12 UTC) #33
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/180001
5 years, 1 month ago (2015-11-19 12:20:54 UTC) #35
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/200001
5 years, 1 month ago (2015-11-19 12:22:46 UTC) #37
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/131261)
5 years, 1 month ago (2015-11-19 12:50:51 UTC) #39
Sami
Thanks, just small nits. The main question is whether we can limit TimeDomain to be ...
5 years, 1 month ago (2015-11-19 13:01:03 UTC) #40
Sami
(Btw could you also update the patch description?)
5 years, 1 month ago (2015-11-19 13:01:53 UTC) #41
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/170020 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/170020
5 years, 1 month ago (2015-11-19 13:54:05 UTC) #43
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1432263002/diff/200001/components/scheduler/base/task_queue_impl.cc File components/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/1432263002/diff/200001/components/scheduler/base/task_queue_impl.cc#newcode161 components/scheduler/base/task_queue_impl.cc:161: // non-delayed task (which is thread safe) to ...
5 years, 1 month ago (2015-11-19 13:54:48 UTC) #45
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/143153)
5 years, 1 month ago (2015-11-19 14:20:47 UTC) #47
Sami
Thanks, couple more small observations. https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc File components/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc#newcode179 components/scheduler/base/task_queue_impl.cc:179: void TaskQueueImpl::ScheduleDelayedWorkTask(base::TimeTicks desired_run_time) { ...
5 years, 1 month ago (2015-11-19 14:52:23 UTC) #48
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/230001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/230001
5 years, 1 month ago (2015-11-19 15:20:15 UTC) #50
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc File components/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc#newcode179 components/scheduler/base/task_queue_impl.cc:179: void TaskQueueImpl::ScheduleDelayedWorkTask(base::TimeTicks desired_run_time) { On 2015/11/19 14:52:23, Sami ...
5 years, 1 month ago (2015-11-19 15:57:14 UTC) #51
Sami
https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc File components/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc#newcode179 components/scheduler/base/task_queue_impl.cc:179: void TaskQueueImpl::ScheduleDelayedWorkTask(base::TimeTicks desired_run_time) { On 2015/11/19 15:57:14, alexclarke1 wrote: ...
5 years, 1 month ago (2015-11-19 16:11:20 UTC) #52
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/290001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/290001
5 years, 1 month ago (2015-11-19 16:51:21 UTC) #54
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc File components/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/1432263002/diff/170020/components/scheduler/base/task_queue_impl.cc#newcode179 components/scheduler/base/task_queue_impl.cc:179: void TaskQueueImpl::ScheduleDelayedWorkTask(base::TimeTicks desired_run_time) { On 2015/11/19 16:11:20, Sami ...
5 years, 1 month ago (2015-11-19 16:52:57 UTC) #55
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/310001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/310001
5 years, 1 month ago (2015-11-19 16:53:47 UTC) #57
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/98404)
5 years, 1 month ago (2015-11-19 17:11:44 UTC) #59
alex clarke (OOO till 29th)
PTAL
5 years, 1 month ago (2015-11-19 18:08:00 UTC) #60
Sami
lgtm! Thanks for your patience.
5 years, 1 month ago (2015-11-19 18:09:40 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/330001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/330001
5 years, 1 month ago (2015-11-19 18:18:50 UTC) #63
commit-bot: I haz the power
Committed patchset #18 (id:330001)
5 years, 1 month ago (2015-11-19 19:29:22 UTC) #64
commit-bot: I haz the power
Patchset 18 (id:??) landed as https://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776 Cr-Commit-Position: refs/heads/master@{#360641}
5 years, 1 month ago (2015-11-19 19:30:31 UTC) #65
tsergeant
A revert of this CL (patchset #18 id:330001) has been created in https://codereview.chromium.org/1461143003/ by tsergeant@chromium.org. ...
5 years, 1 month ago (2015-11-19 23:15:44 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1432263002/350001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1432263002/350001
5 years, 1 month ago (2015-11-20 10:35:27 UTC) #70
commit-bot: I haz the power
Committed patchset #19 (id:350001)
5 years, 1 month ago (2015-11-20 11:40:41 UTC) #71
commit-bot: I haz the power
5 years, 1 month ago (2015-11-20 11:41:22 UTC) #72
Message was sent while issue was closed.
Patchset 19 (id:??) landed as
https://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84
Cr-Commit-Position: refs/heads/master@{#360802}

Powered by Google App Engine
This is Rietveld 408576698