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

Issue 2133623002: Introduce Document::unthrottledTaskRunner() (Closed)

Created:
4 years, 5 months ago by haraken
Modified:
4 years, 4 months ago
CC:
chromium-reviews, blink-reviews-html_chromium.org, ajuma+watch-canvas_chromium.org, sof, eae+blinkwatch, Justin Novosad, blink-reviews-dom_chromium.org, dglazkov+blink, Rik, dshwang, 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 Document::unthrottledTaskRunner() This CL introduces Document::unthrottledTaskRunner() and move one task in HTMLCanvasElement to the unthrottled task runner. We'll move more tasks to the unthrottled task runner. BUG=624696 Committed: https://crrev.com/31b559c09d324ae0c8b8c12399dd95b0bbc4dd9d Cr-Commit-Position: refs/heads/master@{#404598}

Patch Set 1 #

Patch Set 2 : temp #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -1 line) Patch
M third_party/WebKit/Source/core/dom/Document.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 1 chunk +11 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp View 1 chunk +1 line, -1 line 2 comments Download

Messages

Total messages: 20 (5 generated)
haraken
PTAL Let's start with easier parts before worrying about MainThreadTaskRunner :)
4 years, 5 months ago (2016-07-08 07:10:45 UTC) #2
Sami
lgtm with some thoughts. https://codereview.chromium.org/2133623002/diff/20001/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp File third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/2133623002/diff/20001/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp#newcode683 third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp:683: document().unthrottledTaskRunner()->postTask(BLINK_FROM_HERE, WTF::bind(&BlobCallback::handleEvent, wrapPersistent(callback), nullptr)); Looks ...
4 years, 5 months ago (2016-07-08 09:13:29 UTC) #3
dcheng
https://codereview.chromium.org/2133623002/diff/20001/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp File third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/2133623002/diff/20001/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp#newcode683 third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp:683: document().unthrottledTaskRunner()->postTask(BLINK_FROM_HERE, WTF::bind(&BlobCallback::handleEvent, wrapPersistent(callback), nullptr)); On 2016/07/08 09:13:29, Sami wrote: ...
4 years, 5 months ago (2016-07-08 10:27:37 UTC) #4
dcheng
(The code change LGTM though)
4 years, 5 months ago (2016-07-08 10:28:59 UTC) #5
Sami
On 2016/07/08 10:27:37, dcheng wrote: > What are "things like these"? > > To me, ...
4 years, 5 months ago (2016-07-08 10:43:58 UTC) #6
haraken
On 2016/07/08 10:43:58, Sami (OoO) wrote: > On 2016/07/08 10:27:37, dcheng wrote: > > What ...
4 years, 5 months ago (2016-07-11 01:54:18 UTC) #7
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/2133623002/20001
4 years, 5 months ago (2016-07-11 01:54:31 UTC) #9
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/252775)
4 years, 5 months ago (2016-07-11 04:13:55 UTC) #11
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/2133623002/20001
4 years, 5 months ago (2016-07-11 04:18:52 UTC) #13
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 5 months ago (2016-07-11 05:33:18 UTC) #14
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-11 05:33:24 UTC) #15
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/31b559c09d324ae0c8b8c12399dd95b0bbc4dd9d Cr-Commit-Position: refs/heads/master@{#404598}
4 years, 5 months ago (2016-07-11 05:34:57 UTC) #17
blink-reviews
On Mon, Jul 11, 2016 at 2:54 AM, <haraken@chromium.org> wrote: > On 2016/07/08 10:43:58, Sami ...
4 years, 5 months ago (2016-07-11 09:01:43 UTC) #18
chromium-reviews
On Mon, Jul 11, 2016 at 2:54 AM, <haraken@chromium.org> wrote: > On 2016/07/08 10:43:58, Sami ...
4 years, 5 months ago (2016-07-11 09:01:43 UTC) #19
Sami
4 years, 4 months ago (2016-07-25 13:28:37 UTC) #20
Message was sent while issue was closed.
On 2016/07/11 09:01:43, chromium-reviews wrote:
> On Mon, Jul 11, 2016 at 2:54 AM, <mailto:haraken@chromium.org> wrote:
> 
> > On 2016/07/08 10:43:58, Sami (OoO) wrote:
> > > On 2016/07/08 10:27:37, dcheng wrote:
> > > > What are "things like these"?
> > > >
> > > > To me, the distinction between loading and non-loading tasks is pretty
> > clear,
> > > so
> > > > a loading task runner makes sense.
> > > >
> > > > The distinction between timer and unthrottled tasks is also clear, so
> > those
> > > task
> > > > runners make sense.
> > > >
> > > > I'm having trouble understanding what category a fourth task runner
> > would
> > > > fulfill though.
> > >
> > > That's a great question. In general we try to classify work into semantic
> > > categories like loading, rendering, input, etc. instead of trying to say
> > > something about their "importance". This lets the scheduler dynamically
> > decide
> > > which category is important at any given time based on its knowledge of
> > system
> > > state.
> > >
> > > "Unthrottled" goes a bit against this idea since it's really telling the
> > > scheduler that these tasks shouldn't be messed with, but not really
> > saying
> > what
> > > those tasks actually are. In this particular case it's a bit hard to say
> > what
> > > category toBlob() fits in. I would be tempted to call it a rendering
> > task and
> > > say that throttling it is actually fine if necessary.
> >
> > Then how about organizing the task runners as follows?
> >
> > - Timer task runner (<-- timers should go here)
> > - Loading task runner (<-- loading tasks should go here)
> > - Rendering task runner (<-- rendering tasks should go here)
> > - Input task runner (<-- input tasks should go here)
> >
> 
> Currently input and rendering tasks are not reorderable.  We could consider
> having seperate queues for attribution, but they'd need to have the same
> settings for priority etc..

That's right. I agree that giving the queues separate names might help with
attribution.

> 
> > - ...
> > - Throttled task runner (<-- other tasks that can be throttled should go
> > here)
> > - Unthrottled task runner (<-- tasks that should not be throttled should go
> > here)
> >
> > Sami is OOO for two weeks and it would be better to restructure the task
> > runners
> > after Sami comes back.
> >
> > So let me land this CL (using the unthrottled task runner).
> >
> >
> > https://codereview.chromium.org/2133623002/
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups
> "Chromium-reviews" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email
> to mailto:chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698