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

Issue 2209023002: Introduce TaskRunnerHelper::get() (Closed)

Created:
4 years, 4 months ago by haraken
Modified:
4 years, 4 months ago
CC:
chromium-reviews, sof, eae+blinkwatch, blink-reviews-dom_chromium.org, dglazkov+blink, blink-reviews, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce TaskRunnerHelper::get() Per the discussion in https://groups.google.com/a/chromium.org/d/topic/platform-architecture-dev/uRvrk4CYSEc/discussion, this CL introduces TaskRunnerHelper::get(), which maps TaskRunnerTypes to actual task runners. BUG=624689 Committed: https://crrev.com/19b8ee3aff5d67dd49f83e98c65f2410a9d4cf62 Cr-Commit-Position: refs/heads/master@{#409982}

Patch Set 1 #

Patch Set 2 : temp #

Total comments: 4

Patch Set 3 : temp #

Patch Set 4 : temp #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+76 lines, -0 lines) Patch
M third_party/WebKit/Source/core/dom/TaskRunnerHelper.h View 1 2 1 chunk +33 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp View 1 2 3 1 chunk +43 lines, -0 lines 2 comments Download

Messages

Total messages: 20 (7 generated)
haraken
Sami, Alex: What do you think about this API?
4 years, 4 months ago (2016-08-04 01:51:41 UTC) #2
Sami
https://codereview.chromium.org/2209023002/diff/20001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h File third_party/WebKit/Source/core/dom/TaskRunnerHelper.h (right): https://codereview.chromium.org/2209023002/diff/20001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h#newcode19 third_party/WebKit/Source/core/dom/TaskRunnerHelper.h:19: enum TaskRunnerType { FWIW we could use an enum ...
4 years, 4 months ago (2016-08-04 10:32:29 UTC) #3
haraken
PTAL https://codereview.chromium.org/2209023002/diff/20001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h File third_party/WebKit/Source/core/dom/TaskRunnerHelper.h (right): https://codereview.chromium.org/2209023002/diff/20001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.h#newcode19 third_party/WebKit/Source/core/dom/TaskRunnerHelper.h:19: enum TaskRunnerType { On 2016/08/04 10:32:29, Sami wrote: ...
4 years, 4 months ago (2016-08-04 13:45:31 UTC) #4
Sami
lgtm, thanks.
4 years, 4 months ago (2016-08-04 14:44:32 UTC) #5
alex clarke (OOO till 29th)
lgtm
4 years, 4 months ago (2016-08-04 14:46:50 UTC) #6
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/2209023002/40001
4 years, 4 months ago (2016-08-04 15:36:30 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/178396)
4 years, 4 months ago (2016-08-04 15:50:48 UTC) #10
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/2209023002/60001
4 years, 4 months ago (2016-08-05 01:34:58 UTC) #13
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 4 months ago (2016-08-05 03:30:24 UTC) #14
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/19b8ee3aff5d67dd49f83e98c65f2410a9d4cf62 Cr-Commit-Position: refs/heads/master@{#409982}
4 years, 4 months ago (2016-08-05 03:33:15 UTC) #16
kinuko
https://codereview.chromium.org/2209023002/diff/60001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp File third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp (right): https://codereview.chromium.org/2209023002/diff/60001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp#newcode27 third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp:27: case TaskType::WebSocket: IIRC some of WebSocket tasks are posted ...
4 years, 4 months ago (2016-08-11 14:21:58 UTC) #18
Sami
https://codereview.chromium.org/2209023002/diff/60001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp File third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp (right): https://codereview.chromium.org/2209023002/diff/60001/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp#newcode27 third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp:27: case TaskType::WebSocket: On 2016/08/11 14:21:58, kinuko wrote: > IIRC ...
4 years, 4 months ago (2016-08-11 14:52:46 UTC) #19
haraken
4 years, 4 months ago (2016-08-11 15:05:04 UTC) #20
Message was sent while issue was closed.
On 2016/08/11 14:52:46, Sami wrote:
>
https://codereview.chromium.org/2209023002/diff/60001/third_party/WebKit/Sour...
> File third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp (right):
> 
>
https://codereview.chromium.org/2209023002/diff/60001/third_party/WebKit/Sour...
> third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp:27: case
> TaskType::WebSocket:
> On 2016/08/11 14:21:58, kinuko wrote:
> > IIRC some of WebSocket tasks are posted as loading tasks, this might cause
> > unwanted task reordering?
> 
> Good point -- we probably want to fix that.
> 
> > While introducing task types based on spec looks reasonable I'm slightly
> worried
> > that introducing this many task types at once might cause more confusion
than
> > what we want to  achieve first (e.g. per-frame task scheduling).  

As far as I understand the super long discussion on the
platform-architecture-dev's thread, our conclusion is that we want to move tasks
to the per-frame scheduler improving the spec conformance, instead of anyway
moving tasks to the per-frame scheduler keeping the existing behavior. So it's
expected (and amazing!) that this kind of spec-conformance discussion happens
during the migration :)

> Say, how do
> we
> > think about an internal task that could unblock multiple things that might
> fall
> > into multiple categories?
> 
> I'm not sure what you mean by unblocking? Or did you just mean some task that
> does, say, WebSocket and DOMManipulation work? I think that's a good point and
> requires some amount of caution. I can think of two options:
> 
> 1) Make sure those tasks can be safely reordered w.r.t. the
> WebSocket/DOMManipulation task runners (and vice versa).
> 
> 2) Introduce a barrier object that can be used to enforce serialization at the
> expense of possible extra delays.
> 
> It might be that the right option is different depending on the subsystem.
> 
> (We might also want to do some fuzz testing with a scheduler that maximizes
task
> reordering to weed out bugs.)

Powered by Google App Engine
This is Rietveld 408576698