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

Issue 2841463003: scheduler: Make virtual time expiration deterministic (Closed)

Created:
3 years, 8 months ago by Sami
Modified:
3 years, 7 months ago
CC:
chromium-reviews, jam, darin-cc_chromium.org, devtools-reviews_chromium.org, blink-reviews, kinuko+watch, scheduler-bugs_chromium.org, pfeldman
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

scheduler: Make virtual time expiration deterministic Since the execution order of tasks across task queues is not guaranteed[1], the task that controls the expiration of the virtual time budget can run in a random order w.r.t. the tasks virtual time is actually controlling. This patch makes the ordering deterministic by using the control task queue (i.e., always the highest priority) to reset the virtual time policy when the budget expires. BUG=696001, 701223 [1] https://codereview.chromium.org/2786083005/ Review-Url: https://codereview.chromium.org/2841463003 Cr-Commit-Position: refs/heads/master@{#468604} Committed: https://chromium.googlesource.com/chromium/src/+/6b5d2e208a399b53facc7ab80fca62b35f427c46

Patch Set 1 #

Total comments: 2

Patch Set 2 : Review comments #

Total comments: 2

Patch Set 3 : Review comments #

Total comments: 2

Patch Set 4 : Review comments #

Patch Set 5 : Update test expectations #

Patch Set 6 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+119 lines, -17 lines) Patch
M content/browser/devtools/protocol/devtools_protocol_browsertest.cc View 1 2 3 4 5 2 chunks +5 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc View 1 2 3 4 3 chunks +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc View 1 2 2 chunks +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler.h View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.h View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc View 1 2 3 3 chunks +12 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl_unittest.cc View 1 chunk +56 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/InspectorEmulationAgent.h View 1 2 3 4 2 chunks +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/InspectorEmulationAgent.cpp View 1 2 3 4 1 chunk +6 lines, -9 lines 0 comments Download

Messages

Total messages: 24 (11 generated)
Sami
alexclarke@: third_party/WebKit/Source/platform/scheduler/.. dgozman@: content/browser/devtools/protocol/devtools_protocol_browsertest.cc third_party/WebKit/Source/web/InspectorEmulationAgent.cpp PTAL.
3 years, 8 months ago (2017-04-24 16:25:53 UTC) #3
dgozman
lgtm https://codereview.chromium.org/2841463003/diff/1/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp File third_party/WebKit/Source/web/InspectorEmulationAgent.cpp (left): https://codereview.chromium.org/2841463003/diff/1/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp#oldcode175 third_party/WebKit/Source/web/InspectorEmulationAgent.cpp:175: virtual_time_budget_expired_task_handle_ = nit: remove the field.
3 years, 8 months ago (2017-04-24 17:10:30 UTC) #4
Sami
Thanks! https://codereview.chromium.org/2841463003/diff/1/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp File third_party/WebKit/Source/web/InspectorEmulationAgent.cpp (left): https://codereview.chromium.org/2841463003/diff/1/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp#oldcode175 third_party/WebKit/Source/web/InspectorEmulationAgent.cpp:175: virtual_time_budget_expired_task_handle_ = On 2017/04/24 17:10:30, dgozman wrote: > ...
3 years, 8 months ago (2017-04-24 17:33:47 UTC) #5
alex clarke (OOO till 29th)
https://codereview.chromium.org/2841463003/diff/20001/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/2841463003/diff/20001/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc#newcode1861 third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc:1861: control_task_runner_->SetTimeDomain(time_domain); I'm a little nervous about that, generally we ...
3 years, 8 months ago (2017-04-25 11:53:17 UTC) #6
Sami
https://codereview.chromium.org/2841463003/diff/20001/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/2841463003/diff/20001/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc#newcode1861 third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc:1861: control_task_runner_->SetTimeDomain(time_domain); On 2017/04/25 11:53:17, alex clarke wrote: > I'm ...
3 years, 8 months ago (2017-04-25 16:58:21 UTC) #7
alex clarke (OOO till 29th)
lgtm https://codereview.chromium.org/2841463003/diff/40001/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc (right): https://codereview.chromium.org/2841463003/diff/40001/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc#newcode182 third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc:182: control_task_runner_ = WebTaskRunnerImpl::Create( s/control_task_runner_/virtual_time_control_task_runner_
3 years, 8 months ago (2017-04-26 13:33:39 UTC) #8
Sami
Thanks! https://codereview.chromium.org/2841463003/diff/40001/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc File third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc (right): https://codereview.chromium.org/2841463003/diff/40001/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc#newcode182 third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc:182: control_task_runner_ = WebTaskRunnerImpl::Create( On 2017/04/26 13:33:39, alex clarke ...
3 years, 8 months ago (2017-04-26 15:26:49 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2841463003/60001
3 years, 8 months ago (2017-04-26 15:27:17 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_tsan_rel_ng/builds/61521)
3 years, 8 months ago (2017-04-26 16:05:38 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2841463003/60001
3 years, 7 months ago (2017-04-27 15:25:23 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/257938)
3 years, 7 months ago (2017-04-27 15:48:55 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2841463003/100001
3 years, 7 months ago (2017-05-02 10:28:25 UTC) #21
commit-bot: I haz the power
3 years, 7 months ago (2017-05-02 12:03:26 UTC) #24
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/6b5d2e208a399b53facc7ab80fca...

Powered by Google App Engine
This is Rietveld 408576698