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

Issue 621363002: scheduler: Post high priority tasks directly to the message loop (Closed)

Created:
6 years, 2 months ago by Sami
Modified:
6 years, 2 months ago
CC:
blink-reviews, mkwst+moarreviews_chromium.org
Project:
blink
Visibility:
Public.

Description

scheduler: Post high priority tasks directly to the message loop This patch removes the scheduler's internal high priority task queues in favor of posting high priority tasks directly to the main thread. This fixes re-entrancy problems with running these tasks in a nested message loop, but removes the option of having them jump ahead of other posted tasks. This is an interim solution while we research better ways to prioritize compositor tasks over other (Blink and non-Blink) clients of the main thread message loop. BUG=391005 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183287

Patch Set 1 #

Patch Set 2 : Update counter more often. #

Patch Set 3 : Tests. #

Total comments: 9

Patch Set 4 : Rename the lock. #

Patch Set 5 : Test tweak. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+41 lines, -176 lines) Patch
M Source/platform/scheduler/Scheduler.h View 1 2 3 3 chunks +6 lines, -19 lines 0 comments Download
M Source/platform/scheduler/Scheduler.cpp View 1 2 3 9 chunks +26 lines, -100 lines 0 comments Download
M Source/platform/scheduler/SchedulerTest.cpp View 1 2 3 4 4 chunks +9 lines, -57 lines 0 comments Download

Messages

Total messages: 13 (4 generated)
Sami
Since I couldn't resist, here's something simple we could while we design a better way ...
6 years, 2 months ago (2014-10-03 17:47:38 UTC) #2
Sami
I measured a 17% improvement with queueing duration with this patch on a Nexus 7v2 ...
6 years, 2 months ago (2014-10-06 12:41:23 UTC) #3
picksi1
LGTM with one comment. https://codereview.chromium.org/621363002/diff/40001/Source/platform/scheduler/Scheduler.cpp File Source/platform/scheduler/Scheduler.cpp (right): https://codereview.chromium.org/621363002/diff/40001/Source/platform/scheduler/Scheduler.cpp#newcode245 Source/platform/scheduler/Scheduler.cpp:245: } Does this function need ...
6 years, 2 months ago (2014-10-06 13:21:02 UTC) #4
Sami
Thanks for the comments. According to the perf test, this patch gives us a 17% ...
6 years, 2 months ago (2014-10-06 14:00:47 UTC) #5
alexclarke
https://codereview.chromium.org/621363002/diff/40001/Source/platform/scheduler/Scheduler.cpp File Source/platform/scheduler/Scheduler.cpp (left): https://codereview.chromium.org/621363002/diff/40001/Source/platform/scheduler/Scheduler.cpp#oldcode206 Source/platform/scheduler/Scheduler.cpp:206: bool workDone = runPendingHighPriorityTasksIfInCompositorPriority(); I suspect under some circumstances ...
6 years, 2 months ago (2014-10-06 14:11:03 UTC) #7
Sami
https://codereview.chromium.org/621363002/diff/40001/Source/platform/scheduler/Scheduler.cpp File Source/platform/scheduler/Scheduler.cpp (left): https://codereview.chromium.org/621363002/diff/40001/Source/platform/scheduler/Scheduler.cpp#oldcode206 Source/platform/scheduler/Scheduler.cpp:206: bool workDone = runPendingHighPriorityTasksIfInCompositorPriority(); On 2014/10/06 14:11:03, alexclarke wrote: ...
6 years, 2 months ago (2014-10-06 14:59:18 UTC) #8
eseidel
lgtm
6 years, 2 months ago (2014-10-06 16:39:41 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/621363002/80001
6 years, 2 months ago (2014-10-06 16:41:40 UTC) #12
commit-bot: I haz the power
6 years, 2 months ago (2014-10-06 21:01:07 UTC) #13
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as 183287

Powered by Google App Engine
This is Rietveld 408576698