New issue
Advanced search Search tips

Issue 878700 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 31
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Refactor calling ReleaseFreeMemrmoy from RenderThreadImpl

Project Member Reported by hajimehoshi@chromium.org, Aug 29

Issue description

* ReleaseFreeMemory is called from a timer with the default task runner. Replace this timer usage with PostDelayedIdleTask so that this call can be suspended on the frozen tab. Note that this call is one of the most significant task duration consumer on background tabs.

* In the first place, is this periodical ReleaseFreeMemory really required? We're sure purging memory is needed on OnPurgeMemory, but should we call this periodically? Let's try A/B testing to disable this.

 
Description: Show this description
Description: Show this description
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/99c1351b89e5593e16f8005f4128808ee89a83e9

commit 99c1351b89e5593e16f8005f4128808ee89a83e9
Author: Hajime Hoshi <hajimehoshi@chromium.org>
Date: Fri Aug 31 05:40:23 2018

Remove RenderThreadImpl::IdleHandler

RenderThreadImpl::IdleHandler called only ReleaseFreeMemory on
background tabs, which releases memory that is already free. We think
this just affects the memory usage figures at the task manager.
Futhermore, ReleaseFreeMemory is also called via OnPurgeMemory, so this
call seems unnecessarily redundant.

This CL removes RenderThreadImpl::IdleHandler as we expect this doesn't
affect the real world usage. In case perf bots complain, we'll revert
this fix.

Bug:  878700 
Change-Id: Ic7513837709598ea169ebf2a85454ba211678434
Reviewed-on: https://chromium-review.googlesource.com/1196284
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587951}
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/public/renderer/render_thread.h
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/public/test/mock_render_thread.cc
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/public/test/mock_render_thread.h
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/BUILD.gn
[delete] https://crrev.com/5825804e1054dff6b812fa9df63c16777ad827a9/content/renderer/idle_user_detector.cc
[delete] https://crrev.com/5825804e1054dff6b812fa9df63c16777ad827a9/content/renderer/idle_user_detector.h
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_thread_impl.h
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_view_impl.cc
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_widget.cc
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/content/renderer/render_widget.h
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/extensions/renderer/dispatcher.cc
[modify] https://crrev.com/99c1351b89e5593e16f8005f4128808ee89a83e9/extensions/renderer/dispatcher.h

Status: Fixed (was: Started)

Sign in to add a comment