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

Issue 2577313002: memory coordinator: Resume suspended renderer on NORMAL state change (Closed)

Created:
4 years ago by bashi
Modified:
4 years ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, jam, darin-cc_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

memory coordinator: Resume suspended renderer on NORMAL state change Before this CL we don't resume suspended renderer when the suspension was initiated by memory coordinator (not purge+suspend experiment). We should resume suspended renderer when the memory state becomes NORMAL. BUG=674784 Committed: https://crrev.com/6ba5d880deafed03fe670da4461db9b7ef6d5645 Cr-Commit-Position: refs/heads/master@{#439394}

Patch Set 1 #

Total comments: 4

Patch Set 2 : comments #

Patch Set 3 : Remove DCHECK #

Total comments: 3

Patch Set 4 : Don't use is_renderer_suspended_ #

Total comments: 2

Patch Set 5 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+11 lines, -1 line) Patch
M content/renderer/render_thread_impl.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 3 chunks +8 lines, -1 line 0 comments Download

Messages

Total messages: 37 (20 generated)
bashi
tasak@, does this look a correct fix?
4 years ago (2016-12-16 01:33:01 UTC) #3
haraken
https://codereview.chromium.org/2577313002/diff/1/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/1/content/renderer/render_thread_impl.cc#newcode2298 content/renderer/render_thread_impl.cc:2298: case base::MemoryState::THROTTLED: Don't we need to call ResumeRendererIfNeeded() here ...
4 years ago (2016-12-16 01:38:21 UTC) #5
haraken
LGTM
4 years ago (2016-12-16 01:38:28 UTC) #6
Wez
https://codereview.chromium.org/2577313002/diff/1/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/1/content/renderer/render_thread_impl.cc#newcode2315 content/renderer/render_thread_impl.cc:2315: is_renderer_suspended_ = true; nit: DCHECK(!is_renderer_suspended_) here?
4 years ago (2016-12-16 01:57:45 UTC) #8
bashi
https://codereview.chromium.org/2577313002/diff/1/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/1/content/renderer/render_thread_impl.cc#newcode2298 content/renderer/render_thread_impl.cc:2298: case base::MemoryState::THROTTLED: On 2016/12/16 01:38:21, haraken wrote: > > ...
4 years ago (2016-12-16 02:34:10 UTC) #9
bashi
https://codereview.chromium.org/2577313002/diff/40001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/40001/content/renderer/render_thread_impl.cc#newcode2315 content/renderer/render_thread_impl.cc:2315: if (is_renderer_suspended_) Chatted with tasak@ offline and he said ...
4 years ago (2016-12-16 07:50:39 UTC) #16
bashi
+avi@ for OWNERS review
4 years ago (2016-12-16 07:51:47 UTC) #18
tasak
https://codereview.chromium.org/2577313002/diff/40001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/40001/content/renderer/render_thread_impl.cc#newcode2315 content/renderer/render_thread_impl.cc:2315: if (is_renderer_suspended_) On 2016/12/16 07:50:39, bashi1 wrote: > Chatted ...
4 years ago (2016-12-16 07:55:15 UTC) #19
bashi
https://codereview.chromium.org/2577313002/diff/40001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/40001/content/renderer/render_thread_impl.cc#newcode2315 content/renderer/render_thread_impl.cc:2315: if (is_renderer_suspended_) On 2016/12/16 07:55:15, tasak wrote: > On ...
4 years ago (2016-12-16 08:03:13 UTC) #20
tasak
On 2016/12/16 08:03:13, bashi1 wrote: > Thanks for the info. Then we should do early ...
4 years ago (2016-12-16 08:08:07 UTC) #21
Avi (use Gerrit)
lgtm
4 years ago (2016-12-16 15:56:10 UTC) #22
Wez
https://codereview.chromium.org/2577313002/diff/60001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/2577313002/diff/60001/content/renderer/render_thread_impl.cc#newcode1899 content/renderer/render_thread_impl.cc:1899: DCHECK(is_renderer_suspended_); Did you mean to remove |is_renderer_suspended_| entirely?
4 years ago (2016-12-17 06:40:20 UTC) #23
bashi
Rebased. I was thinking that we need to do early return in RenderSchedulerImpl but it ...
4 years ago (2016-12-19 01:03:15 UTC) #26
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/2577313002/80001
4 years ago (2016-12-19 01:51:01 UTC) #31
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years ago (2016-12-19 01:55:26 UTC) #34
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/6ba5d880deafed03fe670da4461db9b7ef6d5645 Cr-Commit-Position: refs/heads/master@{#439394}
4 years ago (2016-12-19 01:57:06 UTC) #36
bashi
4 years ago (2016-12-19 07:18:28 UTC) #37
Message was sent while issue was closed.
On 2016/12/19 01:03:15, bashi1 wrote:
> Rebased. I was thinking that we need to do early return in RenderSchedulerImpl
> but it seems we don't. I'll submit this CL when dry-run passes.

It turned out I have to do early return :( I'll create a CL.

[1:1:1219/161418.151951:FATAL:renderer_scheduler_impl.cc(568)] Check failed: Mai
nThreadOnly().renderer_backgrounded. 
#0 0x7f805842bfbe base::debug::StackTrace::StackTrace()
#1 0x7f805845054b logging::LogMessage::~LogMessage()
#2 0x7f8052444159 blink::scheduler::RendererSchedulerImpl::ResumeRenderer()
#3 0x7f8056277fed content::RenderThreadImpl::ResumeRenderer()
#4 0x7f8056277e6a content::RenderThreadImpl::OnMemoryStateChange()
#5 0x7f8058455299 base::ObserverListThreadSafe<>::NotifyWrapper()
#6 0x7f805845546e _ZN4base8internal7InvokerINS0_9BindStateIMNS_22ObserverListThr
eadSafeINS_23MemoryCoordinatorClientEEEFvPNS5_19ObserverListContextERKNS_8Callba
ckIFvPS4_ELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEEJ13scoped_refptrIS5_ES7_SD_EEE
FvvEE3RunEPNS0_13BindStateBaseE
#7 0x7f805842cb9e base::debug::TaskAnnotator::RunTask()
#8 0x7f805242bfd0 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue()
#9 0x7f805242a009 blink::scheduler::TaskQueueManager::DoWork()
#10 0x7f805242df85 _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueu
eManagerEFvbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKbEEEvS6_OT_DpOT0_
#11 0x7f805842cb9e base::debug::TaskAnnotator::RunTask()
#12 0x7f805845db9d base::MessageLoop::RunTask()
#13 0x7f805845e536 base::MessageLoop::DoWork()
#14 0x7f805845ff99 base::MessagePumpDefault::Run()
#15 0x7f805845d8f5 base::MessageLoop::RunHandler()
#16 0x7f8058491aac base::RunLoop::Run()
#17 0x7f80562a29e8 content::RendererMain()
#18 0x7f80563f4ee7 content::RunZygote()
#19 0x7f80563f5618 content::RunNamedProcessTypeMain()
#20 0x7f80563f6036 content::ContentMainRunnerImpl::Run()
#21 0x7f80563f4a80 content::ContentMain()
#22 0x7f8058f42671 ChromeMain

Powered by Google App Engine
This is Rietveld 408576698