New issue
Advanced search Search tips

Issue 617492 link

Starred by 12 users

Issue metadata

Status: WontFix
Owner:
Closed: Sep 25
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 639700
issue 662772



Sign in to add a comment

Implement memory coordinator V0

Project Member Reported by bashi@chromium.org, Jun 6 2016

Issue description

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 21 2016

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

commit e9f7f82984084ef170e580cf6550154fbb585c6d
Author: bashi <bashi@chromium.org>
Date: Tue Jun 21 06:57:14 2016

Move platform/MemoryPurgeController -> core/dom/MemoryCoordinator

Reason for renaming:
We are going to replace MemoryPressureListener with memory coordinator[1].
The role of this class will not be limited to purge caches but also
handle other memory events like throttling.

Reason for moving platform to core:
MemoryCoordinator depends (and will depend) on things which live in core.
For example, it needs to ask MemoryCache to prune caches. It would also
ask StyleEngine to clear textToSheet and seetToText caches in the future.
Putting MemoryCoordinator in platform is a source of unwanted indirections.

Also, this CL removes MemoryPUrgeClient. It doesn't make sense to create an
instance of MemoryCoordinator per-page because the current implementation
doesn't do any per-page specific task. If we need to do a per-page specific
task in the future we can iterate over ordinaryPages() in MemoryCoordinator to
ask pages to execute the task.

BUG= 617492 

[1] https://docs.google.com/document/d/1dkUXXmpJk7xBUeQM-olBpTHJ2MXamDgY_kjNrl9JXMs

Review-Url: https://codereview.chromium.org/2080813004
Cr-Commit-Position: refs/heads/master@{#400911}

[modify] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/core/core.gypi
[add] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/core/dom/MemoryCoordinator.cpp
[add] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/core/dom/MemoryCoordinator.h
[modify] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/core/page/Page.cpp
[modify] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/core/page/Page.h
[delete] https://crrev.com/97681440d6f680269022d9087fb524b8b75008a4/third_party/WebKit/Source/platform/MemoryPurgeController.cpp
[delete] https://crrev.com/97681440d6f680269022d9087fb524b8b75008a4/third_party/WebKit/Source/platform/MemoryPurgeController.h
[modify] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/platform/blink_platform.gypi
[modify] https://crrev.com/e9f7f82984084ef170e580cf6550154fbb585c6d/third_party/WebKit/Source/web/WebMemoryCoordinator.cpp

Comment 3 by bashi@chromium.org, Jun 24 2016

Summary: Implement memory coordinator V0 (was: Implement memory coordinator for renderers)
Changed the summary because I'll working on browser side as well.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 8 2016

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

commit 456eef44d60c8cddc72f53d4e3d13ffd80158df3
Author: bashi <bashi@chromium.org>
Date: Fri Jul 08 09:36:37 2016

Make memory pressure notifier configurable

In memory coordinator v0 we try to replace MemoryPressureListener
with MemoryCoordinatorClient as described in [1]. This CL adds
SetNotifier() method which takes a callback for dispatching
memory pressure notifications. This allows us to replace
MemoryPressureListener::NotifyMemoryPressure() with an arbitrary
function.

[1] https://docs.google.com/document/d/1rGeUzhfzIKwmBzUcqUEwxEpLQQRq3PulRuHwFBlVIYI/edit#

BUG= 617492 

Review-Url: https://codereview.chromium.org/2097753002
Cr-Commit-Position: refs/heads/master@{#404327}

[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor.h
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor_chromeos.cc
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor_chromeos.h
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor_mac.cc
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor_mac.h
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor_win.cc
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/base/memory/memory_pressure_monitor_win.h
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/chromecast/browser/cast_memory_pressure_monitor.cc
[modify] https://crrev.com/456eef44d60c8cddc72f53d4e3d13ffd80158df3/chromecast/browser/cast_memory_pressure_monitor.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 14 2016

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

commit 066dcbbad57a70ba5380a4a8cdd0572d89bdc279
Author: bashi <bashi@chromium.org>
Date: Thu Jul 14 02:03:35 2016

Add MemoryCoordinator

This CL adds MemoryCoordinator mojo interface and
its implementation. When --enable-features=MemoryCoordinator
is specified the browser and renderers create their
MemoryCoordinators. MemoryCoordinatorImpl (which lives in
the browser process) creates a mojo message pipe when a
renderer is launched.

This CL doesn't add actual handling of memory events, which
will be implemented in follow-up CLs.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2094583002
Cr-Commit-Position: refs/heads/master@{#405402}

[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator.gypi
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/DEPS
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/browser/BUILD.gn
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/browser/memory_coordinator.cc
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/common/BUILD.gn
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/common/memory_coordinator_features.cc
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/public/interfaces/BUILD.gn
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/browser/BUILD.gn
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/browser/DEPS
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/browser/browser_main_loop.cc
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/browser/browser_main_loop.h
[add] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/content_browser.gypi
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/content_renderer.gypi
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/content_tests.gypi
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/renderer/BUILD.gn
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/renderer/DEPS
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/renderer/render_thread_impl.h
[modify] https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279/content/test/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 14 2016

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

commit d0fc7bbda13afe0f382463970efb251518dd898c
Author: bashi <bashi@chromium.org>
Date: Thu Jul 14 02:36:02 2016

Revert of Add MemoryCoordinator (patchset #13 id:240001 of https://codereview.chromium.org/2094583002/ )

Reason for revert:
Broke mac build

Original issue's description:
> Add MemoryCoordinator
>
> This CL adds MemoryCoordinator mojo interface and
> its implementation. When --enable-features=MemoryCoordinator
> is specified the browser and renderers create their
> MemoryCoordinators. MemoryCoordinatorImpl (which lives in
> the browser process) creates a mojo message pipe when a
> renderer is launched.
>
> This CL doesn't add actual handling of memory events, which
> will be implemented in follow-up CLs.
>
> BUG= 617492 
>
> Committed: https://crrev.com/066dcbbad57a70ba5380a4a8cdd0572d89bdc279
> Cr-Commit-Position: refs/heads/master@{#405402}

TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 617492 

Review-Url: https://codereview.chromium.org/2143353004
Cr-Commit-Position: refs/heads/master@{#405406}

[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator.gypi
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/DEPS
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/components/memory_coordinator/browser/BUILD.gn
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/components/memory_coordinator/browser/memory_coordinator.cc
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/common/BUILD.gn
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/components/memory_coordinator/common/memory_coordinator_features.cc
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/components/memory_coordinator/public/interfaces/BUILD.gn
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/browser/BUILD.gn
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/browser/DEPS
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/browser/browser_main_loop.cc
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/browser/browser_main_loop.h
[delete] https://crrev.com/30add38fedb8b9bd44b931aa3adba40d7c79b929/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/content_browser.gypi
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/content_renderer.gypi
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/content_tests.gypi
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/renderer/BUILD.gn
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/renderer/DEPS
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/renderer/render_thread_impl.h
[modify] https://crrev.com/d0fc7bbda13afe0f382463970efb251518dd898c/content/test/BUILD.gn

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 14 2016

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

commit 1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4
Author: bashi <bashi@chromium.org>
Date: Thu Jul 14 04:39:39 2016

Reland: Add MemoryCoordinator

Original description:

This CL adds MemoryCoordinator mojo interface and
its implementation. When --enable-features=MemoryCoordinator
is specified the browser and renderers create their
MemoryCoordinators. MemoryCoordinatorImpl (which lives in
the browser process) creates a mojo message pipe when a
renderer is launched.

This CL doesn't add actual handling of memory events, which
will be implemented in follow-up CLs.

BUG= 617492 
TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org

Review-Url: https://codereview.chromium.org/2139363006
Cr-Commit-Position: refs/heads/master@{#405434}

[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator.gypi
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/DEPS
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/browser/BUILD.gn
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/browser/memory_coordinator.cc
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/common/BUILD.gn
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/common/memory_coordinator_features.cc
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/public/interfaces/BUILD.gn
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/browser/BUILD.gn
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/browser/DEPS
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/browser/browser_main_loop.cc
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/browser/browser_main_loop.h
[add] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/content_browser.gypi
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/content_renderer.gypi
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/content_tests.gypi
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/renderer/BUILD.gn
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/renderer/DEPS
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/renderer/render_thread_impl.h
[modify] https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4/content/test/BUILD.gn

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 14 2016

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

commit 315633845be45cf217c0d3001a463ab28fb7b9d9
Author: bashi <bashi@chromium.org>
Date: Thu Jul 14 05:21:15 2016

Revert of Reland: Add MemoryCoordinator (patchset #1 id:1 of https://codereview.chromium.org/2139363006/ )

Reason for revert:
Broke build again :(

Original issue's description:
> Reland: Add MemoryCoordinator
>
> Original description:
>
> This CL adds MemoryCoordinator mojo interface and
> its implementation. When --enable-features=MemoryCoordinator
> is specified the browser and renderers create their
> MemoryCoordinators. MemoryCoordinatorImpl (which lives in
> the browser process) creates a mojo message pipe when a
> renderer is launched.
>
> This CL doesn't add actual handling of memory events, which
> will be implemented in follow-up CLs.
>
> BUG= 617492 
> TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org
>
> Committed: https://crrev.com/1bb6fc3c4283aa25701f243bccb47ab97a3f6ee4
> Cr-Commit-Position: refs/heads/master@{#405434}

TBR=chrisha@chromium.org,dcheng@chromium.org,haraken@chromium.org,jam@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 617492 

Review-Url: https://codereview.chromium.org/2150843002
Cr-Commit-Position: refs/heads/master@{#405437}

[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator.gypi
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/DEPS
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/components/memory_coordinator/browser/BUILD.gn
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/components/memory_coordinator/browser/memory_coordinator.cc
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/common/BUILD.gn
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/components/memory_coordinator/common/memory_coordinator_features.cc
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/components/memory_coordinator/public/interfaces/BUILD.gn
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/browser/BUILD.gn
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/browser/DEPS
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/browser/browser_main_loop.cc
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/browser/browser_main_loop.h
[delete] https://crrev.com/5580c3ab2104c612abf89283d76239e5c26ef672/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/content_browser.gypi
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/content_renderer.gypi
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/content_tests.gypi
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/renderer/BUILD.gn
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/renderer/DEPS
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/renderer/render_thread_impl.h
[modify] https://crrev.com/315633845be45cf217c0d3001a463ab28fb7b9d9/content/test/BUILD.gn

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 14 2016

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

commit 94d4a4349b199ffef3ee1c4a8616b05b225f7dc9
Author: bashi <bashi@chromium.org>
Date: Thu Jul 14 09:58:36 2016

Re-reland: Add MemoryCoordinator

This is second attempt. Hope GYP Mac is happy with this :(

Original description:

This CL adds MemoryCoordinator mojo interface and
its implementation. When --enable-features=MemoryCoordinator
is specified the browser and renderers create their
MemoryCoordinators. MemoryCoordinatorImpl (which lives in
the browser process) creates a mojo message pipe when a
renderer is launched.

This CL doesn't add actual handling of memory events, which
will be implemented in follow-up CLs.

BUG= 617492 
TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org

Review-Url: https://codereview.chromium.org/2149063002
Cr-Commit-Position: refs/heads/master@{#405460}

[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator.gypi
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/DEPS
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/browser/BUILD.gn
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/browser/memory_coordinator.cc
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/common/BUILD.gn
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/common/memory_coordinator_features.cc
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/public/interfaces/BUILD.gn
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/browser/BUILD.gn
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/browser/DEPS
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/browser/browser_main_loop.cc
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/browser/browser_main_loop.h
[add] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/content_browser.gypi
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/content_renderer.gypi
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/content_tests.gypi
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/renderer/BUILD.gn
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/renderer/DEPS
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/renderer/render_thread_impl.h
[modify] https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9/content/test/BUILD.gn

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 14 2016

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

commit 0e9b2dc4e1e523ef831b482fffece884c2ec1464
Author: henrika <henrika@chromium.org>
Date: Thu Jul 14 11:20:24 2016

Revert of Re-reland: Add MemoryCoordinator (patchset #2 id:20001 of https://codereview.chromium.org/2149063002/ )

Reason for revert:
Seems to break building on Windows.

See https://uberchromegw.corp.google.com/i/chromium/builders/Win/builds/45228/steps/compile/logs/stdio

[11860/34084] CXX obj\components\memory_coordinator\child\memory_coordinator_child.child_memory_coordinator_impl.obj
FAILED: obj/components/memory_coordinator/child/memory_coordinator_child.child_memory_coordinator_impl.obj
ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\components\memory_coordinator\child\memory_coordinator_child.child_memory_coordinator_impl.obj.rsp /c ..\..\components\memory_coordinator\child\child_memory_coordinator_impl.cc /Foobj\components\memory_coordinator\child\memory_coordinator_child.child_memory_coordinator_impl.obj /Fdobj\components\memory_coordinator_child.cc.pdb
c:\b\build\slave\win\build\src\services\shell\public\cpp\interface_provider.h(8): fatal error C1083: Cannot open include file: 'services/shell/public/interfaces/interface_provider.mojom.h': No such file or directory
[11861/34084] CXX obj\mojo\gen\mojo\public\interfaces\bindings\tests\mojo_public_test_interfaces_blink.no_module.mojom-blink.obj

Original issue's description:
> Re-reland: Add MemoryCoordinator
>
> This is second attempt. Hope GYP Mac is happy with this :(
>
> Original description:
>
> This CL adds MemoryCoordinator mojo interface and
> its implementation. When --enable-features=MemoryCoordinator
> is specified the browser and renderers create their
> MemoryCoordinators. MemoryCoordinatorImpl (which lives in
> the browser process) creates a mojo message pipe when a
> renderer is launched.
>
> This CL doesn't add actual handling of memory events, which
> will be implemented in follow-up CLs.
>
> BUG= 617492 
> TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org
>
> Committed: https://crrev.com/94d4a4349b199ffef3ee1c4a8616b05b225f7dc9
> Cr-Commit-Position: refs/heads/master@{#405460}

TBR=chrisha@chromium.org,dcheng@chromium.org,haraken@chromium.org,jam@chromium.org,bashi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 617492 

Review-Url: https://codereview.chromium.org/2145403002
Cr-Commit-Position: refs/heads/master@{#405468}

[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator.gypi
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/DEPS
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/components/memory_coordinator/browser/BUILD.gn
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/components/memory_coordinator/browser/memory_coordinator.cc
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/common/BUILD.gn
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/components/memory_coordinator/common/memory_coordinator_features.cc
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/components/memory_coordinator/public/interfaces/BUILD.gn
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/browser/BUILD.gn
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/browser/DEPS
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/browser/browser_main_loop.cc
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/browser/browser_main_loop.h
[delete] https://crrev.com/61f90bf18152e77deb2179c66ccbb06456080a38/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/content_browser.gypi
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/content_renderer.gypi
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/content_tests.gypi
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/renderer/BUILD.gn
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/renderer/DEPS
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/renderer/render_thread_impl.h
[modify] https://crrev.com/0e9b2dc4e1e523ef831b482fffece884c2ec1464/content/test/BUILD.gn

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 15 2016

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

commit c9dbbe31830fb0bc3014c21885880f3977323578
Author: bashi <bashi@chromium.org>
Date: Fri Jul 15 00:34:53 2016

Re-reland: Add MemoryCoordinator

This is third attempt. `git cl try` doesn't help me :(

Original description:

This CL adds MemoryCoordinator mojo interface and
its implementation. When --enable-features=MemoryCoordinator
is specified the browser and renderers create their
MemoryCoordinators. MemoryCoordinatorImpl (which lives in
the browser process) creates a mojo message pipe when a
renderer is launched.

This CL doesn't add actual handling of memory events, which
will be implemented in follow-up CLs.

BUG= 617492 
TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org

Review-Url: https://codereview.chromium.org/2147333002
Cr-Commit-Position: refs/heads/master@{#405646}

[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator.gypi
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/DEPS
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/browser/BUILD.gn
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/browser/memory_coordinator.cc
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/common/BUILD.gn
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/common/memory_coordinator_features.cc
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/public/interfaces/BUILD.gn
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/browser/BUILD.gn
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/browser/DEPS
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/browser/browser_main_loop.cc
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/browser/browser_main_loop.h
[add] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/content_browser.gypi
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/content_renderer.gypi
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/content_tests.gypi
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/renderer/BUILD.gn
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/renderer/DEPS
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/renderer/render_thread_impl.h
[modify] https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578/content/test/BUILD.gn

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 15 2016

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

commit b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26
Author: bashi <bashi@chromium.org>
Date: Fri Jul 15 01:07:21 2016

Revert of Re-reland: Add MemoryCoordinator (patchset #2 id:20001 of https://codereview.chromium.org/2147333002/ )

Reason for revert:
GYP!!!

Original issue's description:
> Re-reland: Add MemoryCoordinator
>
> This is third attempt. `git cl try` doesn't help me :(
>
> Original description:
>
> This CL adds MemoryCoordinator mojo interface and
> its implementation. When --enable-features=MemoryCoordinator
> is specified the browser and renderers create their
> MemoryCoordinators. MemoryCoordinatorImpl (which lives in
> the browser process) creates a mojo message pipe when a
> renderer is launched.
>
> This CL doesn't add actual handling of memory events, which
> will be implemented in follow-up CLs.
>
> BUG= 617492 
> TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org
>
> Committed: https://crrev.com/c9dbbe31830fb0bc3014c21885880f3977323578
> Cr-Commit-Position: refs/heads/master@{#405646}

TBR=chrisha@chromium.org,dcheng@chromium.org,haraken@chromium.org,jam@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 617492 

Review-Url: https://codereview.chromium.org/2152713003
Cr-Commit-Position: refs/heads/master@{#405657}

[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator.gypi
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/DEPS
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/components/memory_coordinator/browser/BUILD.gn
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/components/memory_coordinator/browser/memory_coordinator.cc
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/common/BUILD.gn
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/components/memory_coordinator/common/memory_coordinator_features.cc
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/components/memory_coordinator/public/interfaces/BUILD.gn
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/browser/BUILD.gn
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/browser/DEPS
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/browser/browser_main_loop.cc
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/browser/browser_main_loop.h
[delete] https://crrev.com/eb270c9af201e549f3e2e2b1016b6b99565f1706/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/content_browser.gypi
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/content_renderer.gypi
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/content_tests.gypi
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/renderer/BUILD.gn
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/renderer/DEPS
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/renderer/render_thread_impl.h
[modify] https://crrev.com/b1bd86ffa291c3843e0fb4ca4dacb03d7eb2fd26/content/test/BUILD.gn

Issue 498694 has been merged into this issue.
Issue 498696 has been merged into this issue.
Project Member

Comment 15 by bugdroid1@chromium.org, Jul 19 2016

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

commit 77f19b3affd0f29a77d1db1eebb6cc00e5a45898
Author: bashi <bashi@chromium.org>
Date: Tue Jul 19 11:19:43 2016

Re-reland: Add MemoryCoordinator

This is fourth attempt... Pass InterfacePtr instead of InterfaceRegistry
to avoid dependency from components/memory_coordinator to shell/services

Original description:

This CL adds MemoryCoordinator mojo interface and
its implementation. When --enable-features=MemoryCoordinator
is specified the browser and renderers create their
MemoryCoordinators. MemoryCoordinatorImpl (which lives in
the browser process) creates a mojo message pipe when a
renderer is launched.

This CL doesn't add actual handling of memory events, which
will be implemented in follow-up CLs.

BUG= 617492 
TBR=chrisha@chromium.org,haraken@chromium.org,dcheng@chromium.org,jam@chromium.org

Review-Url: https://codereview.chromium.org/2149413002
Cr-Commit-Position: refs/heads/master@{#406247}

[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator.gypi
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/DEPS
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/browser/BUILD.gn
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/browser/memory_coordinator.cc
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/child/child_memory_coordinator_impl.h
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/common/BUILD.gn
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/common/memory_coordinator_features.cc
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/common/memory_coordinator_features.h
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/public/interfaces/BUILD.gn
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/components/memory_coordinator/public/interfaces/memory_coordinator.mojom
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/browser/BUILD.gn
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/browser/DEPS
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/browser/browser_main_loop.cc
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/browser/browser_main_loop.h
[add] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/content_browser.gypi
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/content_renderer.gypi
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/content_tests.gypi
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/renderer/BUILD.gn
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/renderer/DEPS
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/renderer/render_thread_impl.h
[modify] https://crrev.com/77f19b3affd0f29a77d1db1eebb6cc00e5a45898/content/test/BUILD.gn

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 21 2016

Labels: Hotlist-MPT
Project Member

Comment 18 by bugdroid1@chromium.org, Jul 25 2016

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

commit b5cd9faee318026d791e608c563c7625b5a20bc4
Author: bashi <bashi@chromium.org>
Date: Mon Jul 25 10:22:08 2016

Add memory pressure dispatching callback to MemoryCoordinator

The callback will be used to route memory pressure notifications to
MemoryCoordinator instead of MemoryPressureListener. When MemoryCoordinator
receives memory pressure notifications, it translates them to memory state
events. Specifically, "moderate" -> "throttled" and "critical" -> "suspended".
This translation is a tentative workaround. When the priority tracker is
implemented we will replace the logic.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2150783003
Cr-Commit-Position: refs/heads/master@{#407443}

[modify] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/BUILD.gn
[modify] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/components_tests.gyp
[modify] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/memory_coordinator/browser/BUILD.gn
[modify] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/memory_coordinator/browser/memory_coordinator.cc
[modify] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/memory_coordinator/browser/memory_coordinator.h
[add] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/memory_coordinator/browser/memory_coordinator_unittest.cc
[modify] https://crrev.com/b5cd9faee318026d791e608c563c7625b5a20bc4/components/memory_coordinator/public/interfaces/child_memory_coordinator.mojom

Project Member

Comment 19 by bugdroid1@chromium.org, Jul 26 2016

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

commit a4d2261bf464657d1a4f1b27bb7a1f50f19d503f
Author: bashi <bashi@chromium.org>
Date: Tue Jul 26 05:59:20 2016

Use MemoryPressureListener in MemoryCoordinator

MemoryCoordinator sets its memory pressure notification dispatcher
in the constructor and sets back to
MemoryPressureListener::NotifyMemoryPressure() in the destructor.
This seems weird. Using MemoryPressureListener instance makes
things simpler.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2180843004
Cr-Commit-Position: refs/heads/master@{#407720}

[modify] https://crrev.com/a4d2261bf464657d1a4f1b27bb7a1f50f19d503f/components/memory_coordinator/browser/memory_coordinator.cc
[modify] https://crrev.com/a4d2261bf464657d1a4f1b27bb7a1f50f19d503f/components/memory_coordinator/browser/memory_coordinator.h
[modify] https://crrev.com/a4d2261bf464657d1a4f1b27bb7a1f50f19d503f/components/memory_coordinator/browser/memory_coordinator_unittest.cc

Comment 21 by bashi@chromium.org, Aug 22 2016

Blockedon: 639700
Project Member

Comment 22 by bugdroid1@chromium.org, Aug 23 2016

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

commit c4b4afcb34459e5f159667f80c385a06cf64b240
Author: bashi <bashi@chromium.org>
Date: Tue Aug 23 06:37:52 2016

Add delegate and factory function for ChildMemoryCoordinator

On Android we need to take immediate action when the OS sends
critical memory pressure notifications [1]. This CL adds
ChildMemoryCoordinatorDelegate and a factory function for
ChildMemoryCoordinator to satisfy the requirement without adding
"#if defined(OS_ANDROID)" in various place. In renderer,
RenderThreadImpl becomes a delegate of ChildMemoryCoordinator
so that it can trigger V8 GC.

This CL doesn't implement Java part. Follow-up CLs will implement
that part.

[1] https://docs.google.com/document/d/1X2HglPS9zIOWAzmIdp7ghh0AGQsVa__sJbE_wim3RaY/edit#heading=h.xqzy4prx9j3x

BUG= 617492 

Review-Url: https://codereview.chromium.org/2260433006
Cr-Commit-Position: refs/heads/master@{#413680}

[modify] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/components/memory_coordinator/child/BUILD.gn
[modify] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/components/memory_coordinator/child/child_memory_coordinator_impl.h
[add] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/components/memory_coordinator/child/child_memory_coordinator_impl_android.cc
[add] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/components/memory_coordinator/child/child_memory_coordinator_impl_android.h
[modify] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/c4b4afcb34459e5f159667f80c385a06cf64b240/content/renderer/render_thread_impl.h

Project Member

Comment 23 by bugdroid1@chromium.org, Aug 30 2016

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

commit 7056550d52a4e61bd120c24950d421fb0032dc55
Author: bashi <bashi@chromium.org>
Date: Tue Aug 30 06:18:07 2016

Add a static getter for ChildMemoryCoordinator

Currently ChildMemoryCoordinator is owned by RenderThreadImpl but
some other components (like cc) would want to become clients of
ChildMemoryCoordinator. Add a static getter to provide access
to ChildMemoryCoordinator.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2291473002
Cr-Commit-Position: refs/heads/master@{#415212}

[modify] https://crrev.com/7056550d52a4e61bd120c24950d421fb0032dc55/components/memory_coordinator/child/child_memory_coordinator_impl.cc
[modify] https://crrev.com/7056550d52a4e61bd120c24950d421fb0032dc55/components/memory_coordinator/child/child_memory_coordinator_impl.h

Project Member

Comment 24 by bugdroid1@chromium.org, Sep 14 2016

Project Member

Comment 25 by bugdroid1@chromium.org, Sep 27 2016

Project Member

Comment 26 by bugdroid1@chromium.org, Sep 27 2016

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

commit 66264142bb289b0975682b0423685467cb2475f9
Author: bashi <bashi@chromium.org>
Date: Tue Sep 27 06:26:40 2016

Add MemoryMonitorAndroid

Use ActivityManager.getMemoryInfo() to implement MemoryMonitor
for android.

Design doc:
https://docs.google.com/document/d/1xHBD29Pi26cwXd7byJd7DhvdhJ8EzODP_uqUUI7J9e4/edit#heading=h.z8w4k8xdqow

NO_DEPENDENCY_CHECKS=true
BUG= 617492 

Review-Url: https://codereview.chromium.org/2340293003
Cr-Commit-Position: refs/heads/master@{#421128}

[modify] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/browser/BUILD.gn
[modify] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/browser/android/browser_jni_registrar.cc
[add] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/browser/memory/memory_monitor_android.cc
[add] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/browser/memory/memory_monitor_android.h
[add] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/browser/memory/memory_monitor_android_unittest.cc
[modify] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/public/android/BUILD.gn
[add] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/public/android/java/src/org/chromium/content/browser/MemoryMonitorAndroid.java
[modify] https://crrev.com/66264142bb289b0975682b0423685467cb2475f9/content/test/BUILD.gn

Project Member

Comment 28 by bugdroid1@chromium.org, Oct 13 2016

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

commit 93362955b0109abee326322a952989fd5ee0d0f2
Author: bashi <bashi@chromium.org>
Date: Thu Oct 13 23:32:40 2016

Add MemoryCoordinatorDelegate

Memory coordinator requires some information only avaiable in
chrome/browser. One option to work around content -> chrome dependency
is to put an abstract class in content/public/broser and an impl class in
chrome/browser. However, We want to keep browser-agnostic things in
content as much as possible. This CL introduces a delegate class to
keep things in content but also provide ways to access information in
chrome/browser.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2399293002
Cr-Commit-Position: refs/heads/master@{#425202}

[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/BUILD.gn
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/chrome_content_browser_client.h
[add] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/memory/chrome_memory_coordinator_delegate.cc
[add] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/memory/chrome_memory_coordinator_delegate.h
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/memory/tab_manager.cc
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/memory/tab_manager.h
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/chrome/browser/memory/tab_manager_browsertest.cc
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/content/browser/memory/memory_coordinator.cc
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/content/browser/memory/memory_coordinator.h
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/content/public/browser/BUILD.gn
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/content/public/browser/content_browser_client.h
[add] https://crrev.com/93362955b0109abee326322a952989fd5ee0d0f2/content/public/browser/memory_coordinator_delegate.h

Project Member

Comment 29 by bugdroid1@chromium.org, Oct 17 2016

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

commit 58dd2fac8722507277dad2615a0691e9dd77077d
Author: bashi <bashi@chromium.org>
Date: Mon Oct 17 00:01:07 2016

Disable MemoryPressureListener when memory coordinator is enabled

Memory coordinator is a replacement of MemoryPressureListener and
MemoryPressureMonitor. They shouldn't be enabled at a same time
because some components use both MemoryCoordinatorClient and
MemoryPressureListener to handle memory pressure.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2411423004
Cr-Commit-Position: refs/heads/master@{#425602}

[modify] https://crrev.com/58dd2fac8722507277dad2615a0691e9dd77077d/content/browser/browser_main_loop.cc
[modify] https://crrev.com/58dd2fac8722507277dad2615a0691e9dd77077d/content/browser/browser_main_loop.h
[modify] https://crrev.com/58dd2fac8722507277dad2615a0691e9dd77077d/content/browser/devtools/protocol/memory_handler.cc
[modify] https://crrev.com/58dd2fac8722507277dad2615a0691e9dd77077d/content/renderer/render_thread_impl.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Oct 17 2016

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

commit 529cb14c66359213f1d19b0450ff4d73b25c0e10
Author: bashi <bashi@chromium.org>
Date: Mon Oct 17 21:53:57 2016

Add MemoryCoordinatorImpl

This CL adds actual implementation of memory coordinator.
The idea is from chrisha@ and a basic strategy is:
* There is only one global state. All processes share the same state.
* The state level calculation is determined by the amount of free
  memory and the median of renderer size (platform-dependent).

BUG= 617492 

Review-Url: https://codereview.chromium.org/2374343002
Cr-Commit-Position: refs/heads/master@{#425786}

[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/BUILD.gn
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/browser_main_loop.cc
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator.cc
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator.h
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator_browsertest.cc
[add] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator_impl.cc
[add] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator_impl.h
[add] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator_impl_unittest.cc
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_coordinator_unittest.cc
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/browser/memory/memory_monitor.cc
[modify] https://crrev.com/529cb14c66359213f1d19b0450ff4d73b25c0e10/content/test/BUILD.gn

Project Member

Comment 31 by bugdroid1@chromium.org, Oct 25 2016

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

commit efbf745f1739de118eb193f24e8e9ed9a6f7cc9f
Author: bashi <bashi@chromium.org>
Date: Tue Oct 25 00:10:28 2016

memory coordinator: Observe renderer visibility to update state

Memory coordinator should update renderers' memory state when their
visibility have changed. For a visible (foreground) renderer,
the state is set to NORMAL. For background renderers, the states
are set to the global state.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2443093002
Cr-Commit-Position: refs/heads/master@{#427185}

[modify] https://crrev.com/efbf745f1739de118eb193f24e8e9ed9a6f7cc9f/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/efbf745f1739de118eb193f24e8e9ed9a6f7cc9f/content/browser/memory/memory_coordinator_impl.h

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 26 2016

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

commit 8e656e05f77fb80739dc80bdfa1abfce1f45173d
Author: bashi <bashi@chromium.org>
Date: Wed Oct 26 23:38:47 2016

memory coordinator: Use free memory to guess available memory on Linux

Though there will be eaisly discardable memory such as buffers and
caches, don't count them as "available" memory because discarding
them will affect the overall performance of the system.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2448923004
Cr-Commit-Position: refs/heads/master@{#427880}

[modify] https://crrev.com/8e656e05f77fb80739dc80bdfa1abfce1f45173d/content/browser/memory/memory_monitor_linux.cc
[modify] https://crrev.com/8e656e05f77fb80739dc80bdfa1abfce1f45173d/content/browser/memory/memory_monitor_linux_unittest.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Nov 1 2016

Blockedon: 662772
Project Member

Comment 36 by bugdroid1@chromium.org, Nov 18 2016

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

commit 38bf0fa7b6d998a1afb0117235ad0fa467d934e9
Author: bashi <bashi@chromium.org>
Date: Fri Nov 18 02:56:01 2016

Add an about://flags entry for enable/disable memory coordinator

We need this to enable memory coordinator on locked Android devices.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2506173004
Cr-Commit-Position: refs/heads/master@{#433033}

[modify] https://crrev.com/38bf0fa7b6d998a1afb0117235ad0fa467d934e9/chrome/app/generated_resources.grd
[modify] https://crrev.com/38bf0fa7b6d998a1afb0117235ad0fa467d934e9/chrome/browser/about_flags.cc
[modify] https://crrev.com/38bf0fa7b6d998a1afb0117235ad0fa467d934e9/tools/metrics/histograms/histograms.xml

Project Member

Comment 37 by bugdroid1@chromium.org, Nov 22 2016

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

commit b935609873e0305e0666b89c4cff2c2a89901bf9
Author: bashi <bashi@chromium.org>
Date: Tue Nov 22 21:36:49 2016

memory coordinator: Set variation parameters if available

In V0 implementation we have several parameters to determine
the global state. Override these parameters when variations
are available.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2518653002
Cr-Commit-Position: refs/heads/master@{#433987}

[add] https://crrev.com/b935609873e0305e0666b89c4cff2c2a89901bf9/content/browser/memory/DEPS
[modify] https://crrev.com/b935609873e0305e0666b89c4cff2c2a89901bf9/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/b935609873e0305e0666b89c4cff2c2a89901bf9/content/browser/memory/memory_coordinator_impl.h

Project Member

Comment 38 by bugdroid1@chromium.org, Nov 29 2016

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

commit f1501024d0f0aa8ee537dd276504b05f3bd0145b
Author: bashi <bashi@chromium.org>
Date: Tue Nov 29 02:09:24 2016

Move suspend logic into OnMemoryStateChange()

Before this CL, OnMemoryStateChange() only handles "purge" part
of purge+suspend mechanism. Handle "suspend" part as well.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2529833002
Cr-Commit-Position: refs/heads/master@{#434831}

[modify] https://crrev.com/f1501024d0f0aa8ee537dd276504b05f3bd0145b/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/f1501024d0f0aa8ee537dd276504b05f3bd0145b/content/renderer/render_thread_impl.h

Project Member

Comment 39 by bugdroid1@chromium.org, Dec 6 2016

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

commit 2d5bc88c8a8900eee1513a707ac360b64070e7d7
Author: bashi <bashi@chromium.org>
Date: Tue Dec 06 01:18:42 2016

memory coordinator: Throttle foreground renderers on SUSPENDED state

Like the browser process, we don't want to suspend foreground
renderers, but memory coordinator should try to reduce memory
consumption when free memory is low. Set THROTTLED state for
foreground renderers when the global state is SUSPENDED.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2553553002
Cr-Commit-Position: refs/heads/master@{#436481}

[modify] https://crrev.com/2d5bc88c8a8900eee1513a707ac360b64070e7d7/content/browser/memory/memory_coordinator.cc
[modify] https://crrev.com/2d5bc88c8a8900eee1513a707ac360b64070e7d7/content/browser/memory/memory_coordinator.h
[modify] https://crrev.com/2d5bc88c8a8900eee1513a707ac360b64070e7d7/content/browser/memory/memory_coordinator_browsertest.cc
[modify] https://crrev.com/2d5bc88c8a8900eee1513a707ac360b64070e7d7/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/2d5bc88c8a8900eee1513a707ac360b64070e7d7/content/browser/memory/memory_coordinator_unittest.cc

Project Member

Comment 41 by bugdroid1@chromium.org, Dec 9 2016

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

commit feae988cc92320f9f7d8f0d9a5fa5056d11e3f69
Author: bashi <bashi@chromium.org>
Date: Fri Dec 09 05:23:17 2016

memory coordinator: Throttle background renderers on Android

On mobile devices, there are less available memory and high tab
switching cost compared to desktop environments. Given that, it would
make sense to throttle background renderers immediately.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2564623004
Cr-Commit-Position: refs/heads/master@{#437476}

[modify] https://crrev.com/feae988cc92320f9f7d8f0d9a5fa5056d11e3f69/content/browser/memory/memory_coordinator.cc
[modify] https://crrev.com/feae988cc92320f9f7d8f0d9a5fa5056d11e3f69/content/browser/memory/memory_coordinator.h
[modify] https://crrev.com/feae988cc92320f9f7d8f0d9a5fa5056d11e3f69/content/browser/memory/memory_coordinator_unittest.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Feb 9 2017

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

commit 56b23f3064d47916ee13dadbbb7e87e2d15b80fd
Author: bashi <bashi@chromium.org>
Date: Thu Feb 09 01:24:57 2017

Replace OnMemoryStateChange() with OnPurgeMemory() in net/

When we implemented MemoryCoordinatorClients in net/, there was only one
callback called OnMemoryStateChange(). Recently we added another
callback called OnPurgeMemory() to handle "existing allocations" and
"future allocations" separately (See [1] for the motivation). This CL
replaces OnMemoryStateChange() with OnPurgeMemory() because all clients
in net/ actually free up memory.

Note: MemoryCoordinatorClient and MemoryPressureListener won't be
enabled at the same time. This means that either OnMemoryPressure() or
OnPurgeMemory() can be called.

[1] https://groups.google.com/a/chromium.org/forum/?utm_medium=email&utm_source=footer#!msg/project-trim/s96xSirL2Hs/18uq1zfHEgAJ

BUG= 684287 , 617492 

Review-Url: https://codereview.chromium.org/2679903002
Cr-Commit-Position: refs/heads/master@{#449178}

[modify] https://crrev.com/56b23f3064d47916ee13dadbbb7e87e2d15b80fd/net/http/http_network_session.cc
[modify] https://crrev.com/56b23f3064d47916ee13dadbbb7e87e2d15b80fd/net/http/http_network_session.h
[modify] https://crrev.com/56b23f3064d47916ee13dadbbb7e87e2d15b80fd/net/sdch/sdch_owner.cc
[modify] https://crrev.com/56b23f3064d47916ee13dadbbb7e87e2d15b80fd/net/sdch/sdch_owner.h
[modify] https://crrev.com/56b23f3064d47916ee13dadbbb7e87e2d15b80fd/net/ssl/ssl_client_session_cache.cc
[modify] https://crrev.com/56b23f3064d47916ee13dadbbb7e87e2d15b80fd/net/ssl/ssl_client_session_cache.h

Project Member

Comment 43 by bugdroid1@chromium.org, Mar 16 2017

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

commit 58f641e2daf00d18ce899adc30fa92abaaa26e5b
Author: bashi <bashi@chromium.org>
Date: Thu Mar 16 12:16:49 2017

memory coordinator: Change tracing event category

Before this CL we used "memory-infra" category for memory coordinator
related events. Enabling "memory-infra" category triggers memory
dump tasks but in some cases we just want to record memory coordinator
related events without memory dumps to investigate performace impact of
memory coordinator (e.g. how purging memory affects tab switching).

This CL changes the category of memory coordinator related events to
"memory_coordinator" so that we can recard traces without memory dumps.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2752153002
Cr-Commit-Position: refs/heads/master@{#457405}

[modify] https://crrev.com/58f641e2daf00d18ce899adc30fa92abaaa26e5b/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/58f641e2daf00d18ce899adc30fa92abaaa26e5b/content/child/memory/child_memory_coordinator_impl.cc

Project Member

Comment 44 by bugdroid1@chromium.org, May 1 2017

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

commit 4159f36e93c398b9816b734a14e97220e83fc912
Author: bashi <bashi@chromium.org>
Date: Mon May 01 01:18:51 2017

Record swap metrics

This CL adds SwapMetricsObserver which records swap rates and reports
them as platform-specific metrics. The purpose of adding these metrics
is to measure the impact of actions we take to free up memory. If we
aggressively free up memory under high memory pressure, we may touch
pages which are already swapped out (or compressed). In such cases
thrashing could happen and we are making the situation worse.
Swap rates and page compression/decompression rate would be good
indicators of thrashing. Metrics will be recorded every 60 seconds.

This CL only adds metrics for Android/ChromeOS/Linux. Follow-up CLs
will add them for macOS.

BUG= 617492 

Review-Url: https://codereview.chromium.org/2824133002
Cr-Commit-Position: refs/heads/master@{#468266}

[modify] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/BUILD.gn
[modify] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/browser_main_loop.cc
[add] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/memory/swap_metrics_observer.cc
[add] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/memory/swap_metrics_observer.h
[add] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/memory/swap_metrics_observer_linux.cc
[add] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/memory/swap_metrics_observer_linux.h
[add] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/memory/swap_metrics_observer_mac.cc
[add] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/content/browser/memory/swap_metrics_observer_win.cc
[modify] https://crrev.com/4159f36e93c398b9816b734a14e97220e83fc912/tools/metrics/histograms/histograms.xml

Project Member

Comment 45 by bugdroid1@chromium.org, May 2 2017

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

commit 651d8feadbd84df44c2c09ca287d82cba7fd8dbf
Author: bashi <bashi@chromium.org>
Date: Tue May 02 00:42:15 2017

Add SwapMetricsObserverMac

This CL adds SwapMetricsObserverMac which records macOS specific swap
metrics. Metrics includes:
- # of pages swapins/swapouts per seconds
- # of pages compressed/decompressed per seconds

These stats come from host_statistics64().

BUG= 617492 

Review-Url: https://codereview.chromium.org/2852033002
Cr-Commit-Position: refs/heads/master@{#468508}

[modify] https://crrev.com/651d8feadbd84df44c2c09ca287d82cba7fd8dbf/content/browser/BUILD.gn
[modify] https://crrev.com/651d8feadbd84df44c2c09ca287d82cba7fd8dbf/content/browser/memory/swap_metrics_observer_mac.cc
[add] https://crrev.com/651d8feadbd84df44c2c09ca287d82cba7fd8dbf/content/browser/memory/swap_metrics_observer_mac.h
[modify] https://crrev.com/651d8feadbd84df44c2c09ca287d82cba7fd8dbf/tools/metrics/histograms/histograms.xml

Status: WontFix (was: Started)
I've just created the following issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=888904

So I would like to mark this as WontFix.

Sign in to add a comment