|
Reland of Worker: Introduce per-global-scope task scheduler
I couldn't reproduce the failure on my local machine and trybots.
If this still fails the tests only on the specific bot, I'll mark them with
SKIP and fix them in a separate CL.
Original issue's description:
> Revert of Worker: Introduce per-global-scope task scheduler (patchset #22 id:450001 of https://codereview.chromium.org/2806623004/ )
>
> Reason for revert:
> Seems to have caused a crash in fast/workers/termination-early.html on Webkit Linux Trusty Leak -
> https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty_Leak/4107/layout-test-results/results.html
> https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4107
>
> https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty_Leak/4106/layout-test-results/fast/workers/termination-early-crash-log.txt
> https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/4106
>
> Original issue's description:
> > Worker: Introduce per-global-scope task scheduler
> >
> > This CL introduces WorkerGlobalScopeScheduler to make it simpler and saner to
> > manage tasks on worker threads.
> >
> > Before this CL, tasks on worker threads were always pushed into the thread's
> > default task queue, they should be handled in different ways based on their
> > task types though. For example, worker tasks shouldn't run after the global
> > scope is closed, while thread control tasks should run even after that. To
> > achieve it, worker tasks were always wrapped with WorkerThread's method to check
> > the current thread state. This was so tricky.
> >
> > After this CL, each global scope has its own task queues like per-frame task
> > scheduler. Worker tasks are pushed into the task queues, control tasks are still
> > pushed into the thread's default task queue though. Thanks to this separation,
> > we can abort only worker tasks by simply unregistering the queues when a global
> > scope is closed.
> >
> > In addition, this CL unifies postTask interfaces into TaskRunnerHelper (issue
> > 694914), and enables any threads to post a task to worker threads because of
> > thread-safe refcounted WebTaskRunner.
> >
> > BUG= 670534, 694914, 710364
> >
> > Review-Url: https://codereview.chromium.org/2806623004
> > Cr-Commit-Position: refs/heads/master@{#465841}
> > Committed: https://chromium.googlesource.com/chromium/src/+/d56a35fb25dc388a0506174b9e3fda67337313ce
>
> TBR=kinuko@chromium.org,haraken@chromium.org,tzik@chromium.org,skyostil@chromium.org,altimin@chromium.org,nhiroki@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= 670534, 694914, 710364
>
> Review-Url: https://codereview.chromium.org/2831843002
> Cr-Commit-Position: refs/heads/master@{#465892}
> Committed: https://chromium.googlesource.com/chromium/src/+/ee6a4f06b0e0561618669ed56e5997af91108c3e
TBR=kinuko@chromium.org,haraken@chromium.org,tzik@chromium.org,skyostil@chromium.org,altimin@chromium.org,aboxhall@chromium.org
BUG= 670534, 694914, 710364
Review-Url: https://codereview.chromium.org/2832763002
Cr-Commit-Position: refs/heads/master@{#465962}
Committed: https://chromium.googlesource.com/chromium/src/+/7800a474d39eacc36c6c247f6a956e15f5d2489a
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+467 lines, -277 lines) |
Patch |
|
M |
third_party/WebKit/Source/core/dom/TaskRunnerHelper.h
|
View
|
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp
|
View
|
|
3 chunks |
+56 lines, -4 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/loader/ThreadableLoaderTest.cpp
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/DedicatedWorkerTest.cpp
|
View
|
|
4 chunks |
+12 lines, -9 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/InProcessWorkerMessagingProxy.cpp
|
View
|
|
3 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.cpp
|
View
|
|
2 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
|
View
|
|
3 chunks |
+11 lines, -8 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/WorkerEventQueue.cpp
|
View
|
|
2 chunks |
+11 lines, -4 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/WorkerOrWorkletGlobalScope.cpp
|
View
|
|
4 chunks |
+8 lines, -6 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/WorkerThread.h
|
View
|
|
6 chunks |
+12 lines, -10 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/core/workers/WorkerThread.cpp
|
View
|
|
8 chunks |
+32 lines, -55 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/modules/time_zone_monitor/TimeZoneMonitorClient.cpp
|
View
|
|
2 chunks |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScopeTest.cpp
|
View
|
|
2 chunks |
+22 lines, -18 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/BUILD.gn
|
View
|
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.h
|
View
|
|
1 chunk |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/compositor_worker_scheduler.cc
|
View
|
|
2 chunks |
+15 lines, -121 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/web_task_runner_impl.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/webthread_base.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.h
|
View
|
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.h
|
View
|
|
1 chunk |
+49 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler.cc
|
View
|
|
1 chunk |
+34 lines, -0 lines |
0 comments
|
Download
|
|
A |
third_party/WebKit/Source/platform/scheduler/child/worker_global_scope_scheduler_unittest.cc
|
View
|
|
1 chunk |
+91 lines, -0 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.h
|
View
|
|
2 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/worker_scheduler.cc
|
View
|
|
2 chunks |
+12 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.h
|
View
|
|
2 chunks |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/platform/scheduler/child/worker_scheduler_impl.cc
|
View
|
|
7 chunks |
+26 lines, -17 lines |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/web/WebEmbeddedWorkerImpl.cpp
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp
|
View
|
|
3 chunks |
+9 lines, -6 lines |
0 comments
|
Download
|
Total messages: 28 (18 generated)
|