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

Issue 18181011: Make a fairer combined message loop (Closed)

Created:
7 years, 5 months ago by Kristian Monsen
Modified:
7 years, 5 months ago
CC:
chromium-reviews, erikwright+watch_chromium.org, sadrul
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Make a fairer combined message loop This will make us insert a new Message into the java message loop each time a new task is added. When those tasks are handled we will handle one native task. This is not the full truth as the Android DoRunLoopOnce does not actually just run the loop once, but that is for a later CL to clear up. BUG=250924 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=211303

Patch Set 1 #

Patch Set 2 : Removed unused delayed timer message #

Total comments: 18

Patch Set 3 : Updated to ask the pump if it needs to be notified for each work item added #

Total comments: 2

Patch Set 4 : Added OVERRIDE #

Patch Set 5 : caching the result from MessagePump::NeedsScheduleWorkPerTask #

Total comments: 6

Patch Set 6 : Keep the AlwaysNotifyPump local in message_loop.cc #

Patch Set 7 : Fixes with delayed messages, Bo found some cases were the current cases did not work #

Total comments: 2

Patch Set 8 : Added comment to AlwaysNotifyPump #

Patch Set 9 : Improving comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+35 lines, -60 lines) Patch
M base/android/java/src/org/chromium/base/SystemMessageHandler.java View 1 2 3 4 5 6 2 chunks +6 lines, -44 lines 0 comments Download
M base/message_loop/message_loop.cc View 1 2 3 4 5 6 7 8 2 chunks +13 lines, -1 line 0 comments Download
M base/message_loop/message_pump_android.cc View 1 2 3 4 5 6 2 chunks +16 lines, -15 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
Kristian Monsen
I have performance tested this for startup on Android here: https://docs.google.com/a/google.com/spreadsheet/ccc?key=0AmpHCKuLgIDwdHR0STJaSU5vN25nclFtZV92akZtR3c#gid=1 If the message_loop.cc change ...
7 years, 5 months ago (2013-06-28 18:51:27 UTC) #1
klobag.chromium
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); nativeDoRunLoopOnce will do one normal, one delayed work. ...
7 years, 5 months ago (2013-06-28 20:57:13 UTC) #2
Kristian Monsen
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); On 2013/06/28 20:57:13, klobag.chromium wrote: > nativeDoRunLoopOnce will ...
7 years, 5 months ago (2013-06-28 21:04:41 UTC) #3
aberent
As I discuss in my inline comment, do we actually want a fairer combined message ...
7 years, 5 months ago (2013-06-28 21:52:28 UTC) #4
klobag.chromium
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); On 2013/06/28 21:04:41, Kristian Monsen wrote: > On ...
7 years, 5 months ago (2013-06-28 21:55:23 UTC) #5
boliu
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode32 base/android/java/src/org/chromium/base/SystemMessageHandler.java:32: sendEmptyMessage(TIMER_MESSAGE); The motivation for this change is that in ...
7 years, 5 months ago (2013-06-28 22:32:06 UTC) #6
Kristian Monsen
I was going to respond to Anthony's comment as well, but Bo's comment is very ...
7 years, 5 months ago (2013-06-28 22:48:56 UTC) #7
klobag.chromium
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); On 2013/06/28 22:48:57, Kristian Monsen wrote: > On ...
7 years, 5 months ago (2013-06-28 23:18:12 UTC) #8
Kristian Monsen
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); On 2013/06/28 23:18:12, klobag.chromium wrote: > On 2013/06/28 ...
7 years, 5 months ago (2013-06-28 23:43:04 UTC) #9
aberent
On 2013/06/28 22:32:06, boliu wrote: > https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java > File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): > > https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode32 > ...
7 years, 5 months ago (2013-06-28 23:51:40 UTC) #10
Kristian Monsen
On 2013/06/28 23:51:40, aberent wrote: > On 2013/06/28 22:32:06, boliu wrote: > > > https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java ...
7 years, 5 months ago (2013-06-29 00:20:19 UTC) #11
Kristian Monsen
On 2013/06/28 23:51:40, aberent wrote: > On 2013/06/28 22:32:06, boliu wrote: > > > https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java ...
7 years, 5 months ago (2013-06-29 00:29:01 UTC) #12
aberent
On 2013/06/29 00:20:19, Kristian Monsen wrote: > On 2013/06/28 23:51:40, aberent wrote: > > On ...
7 years, 5 months ago (2013-07-01 15:10:55 UTC) #13
klobag.chromium
The yield model should not assume the current UI messageLoop behavior is permanent. Yield should ...
7 years, 5 months ago (2013-07-01 15:54:59 UTC) #14
joth
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); What if nativeDoRunLoopOnce() returns true? https://codereview.chromium.org/18181011/diff/2001/base/message_loop/message_loop.cc File base/message_loop/message_loop.cc ...
7 years, 5 months ago (2013-07-01 19:28:54 UTC) #15
Kristian Monsen
Updated and looked at the feedback. I did not update with code to do delayed ...
7 years, 5 months ago (2013-07-02 21:32:26 UTC) #16
joth
lgtm https://codereview.chromium.org/18181011/diff/23001/base/message_loop/message_pump_android.h File base/message_loop/message_pump_android.h (right): https://codereview.chromium.org/18181011/diff/23001/base/message_loop/message_pump_android.h#newcode31 base/message_loop/message_pump_android.h:31: virtual bool NeedsScheduleWorkPerTask(); OVERRIDE
7 years, 5 months ago (2013-07-02 21:43:17 UTC) #17
klobag.chromium
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); On 2013/07/02 21:32:27, Kristian Monsen wrote: > On ...
7 years, 5 months ago (2013-07-02 22:53:01 UTC) #18
Kristian Monsen
https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java File base/android/java/src/org/chromium/base/SystemMessageHandler.java (right): https://codereview.chromium.org/18181011/diff/2001/base/android/java/src/org/chromium/base/SystemMessageHandler.java#newcode26 base/android/java/src/org/chromium/base/SystemMessageHandler.java:26: nativeDoRunLoopOnce(mMessagePumpDelegateNative); On 2013/07/02 22:53:02, klobag.chromium wrote: > On 2013/07/02 ...
7 years, 5 months ago (2013-07-02 23:05:29 UTC) #19
klobag.chromium
lgtm Let us experiment with it in the trunk to see how it goes.
7 years, 5 months ago (2013-07-02 23:46:23 UTC) #20
awong
drive-by: don't know enough to under whether the notification logic is sane, but I've added ...
7 years, 5 months ago (2013-07-03 19:09:22 UTC) #21
Kristian Monsen
awong: thank you for the drive-by review, I simplified a bit based on the comments. ...
7 years, 5 months ago (2013-07-03 21:20:03 UTC) #22
brettw
lgtm https://codereview.chromium.org/18181011/diff/39001/base/message_loop/message_loop.cc File base/message_loop/message_loop.cc (right): https://codereview.chromium.org/18181011/diff/39001/base/message_loop/message_loop.cc#newcode100 base/message_loop/message_loop.cc:100: bool AlwaysNotifyPump(MessageLoop::Type type) { Can you add a ...
7 years, 5 months ago (2013-07-10 18:27:03 UTC) #23
Kristian Monsen
https://codereview.chromium.org/18181011/diff/39001/base/message_loop/message_loop.cc File base/message_loop/message_loop.cc (right): https://codereview.chromium.org/18181011/diff/39001/base/message_loop/message_loop.cc#newcode100 base/message_loop/message_loop.cc:100: bool AlwaysNotifyPump(MessageLoop::Type type) { On 2013/07/10 18:27:03, brettw wrote: ...
7 years, 5 months ago (2013-07-11 23:29:41 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kristianm@chromium.org/18181011/52001
7 years, 5 months ago (2013-07-12 00:17:43 UTC) #25
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 5 months ago (2013-07-12 00:41:46 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kristianm@chromium.org/18181011/52001
7 years, 5 months ago (2013-07-12 02:59:18 UTC) #27
commit-bot: I haz the power
7 years, 5 months ago (2013-07-12 03:19:58 UTC) #28
Message was sent while issue was closed.
Change committed as 211303

Powered by Google App Engine
This is Rietveld 408576698