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

Issue 2882513004: Remove renderer notifications of memory pressure. (Closed)

Created:
3 years, 7 months ago by brettw
Modified:
3 years, 7 months ago
CC:
chromium-reviews, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, darin-cc_chromium.org, devtools-reviews_chromium.org, chrome-grc-reviews+memory_chromium.org, pfeldman
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove renderer notifications of memory pressure. This system sends messages to the renderer processes when the system is under memory strain. But when the system is under memory strain, garbage collecting makes thrashing worse. When we're under memory pressure, waking up the least-recently-used renderer and making it touch a lot of its memory by GC-ing will likely page in that renderer. The current system does this for all renderers repeatedly (one every two seconds, looping back to the least-recently-used one again) until there is no more memory pressure. This system contributes to the "falling off a cliff" behavior of Chrome performance when under memory pressure. Now that renderers are not notified of memory pressure, the messages associated with this, as well as messages to simulate and disable notifications are removed. With this change, the browser process will continue to respond to memory pressure events and may clear some caches, but the renderers will not. They will presumably get paged out like normal processes. This affects only desktop systems. A separate memory pressure system exists on Android, and the messages were already disabled on ChromeOS due to the problems they caused. This mostly reverts these patches: https://codereview.chromium.org/1332583002 https://codereview.chromium.org/1641813002 Changes TabStats to use C++11-style member initialization and implements move and assignment operators out-of-line. BUG=716606 R=erikchen@chromium.org TBR=mbarbella@chromium.org (security IPC review for messages removal) Review-Url: https://codereview.chromium.org/2882513004 Cr-Commit-Position: refs/heads/master@{#471942} Committed: https://chromium.googlesource.com/chromium/src/+/37c4e81eb4dfa713a06164dbce721710b92b2ca9

Patch Set 1 #

Patch Set 2 : Merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+32 lines, -1325 lines) Patch
M chrome/browser/memory/tab_manager.h View 8 chunks +1 line, -60 lines 0 comments Download
M chrome/browser/memory/tab_manager.cc View 8 chunks +0 lines, -142 lines 0 comments Download
M chrome/browser/memory/tab_manager_unittest.cc View 1 4 chunks +2 lines, -258 lines 0 comments Download
M chrome/browser/memory/tab_stats.h View 1 chunk +19 lines, -14 lines 0 comments Download
M chrome/browser/memory/tab_stats.cc View 1 chunk +6 lines, -20 lines 0 comments Download
M content/browser/BUILD.gn View 1 1 chunk +0 lines, -4 lines 0 comments Download
M content/browser/browser_child_process_host_impl.cc View 1 2 chunks +0 lines, -2 lines 0 comments Download
M content/browser/devtools/protocol/memory_handler.cc View 3 chunks +4 lines, -5 lines 0 comments Download
D content/browser/memory/memory_message_filter.h View 1 chunk +0 lines, -59 lines 0 comments Download
D content/browser/memory/memory_message_filter.cc View 1 chunk +0 lines, -57 lines 0 comments Download
D content/browser/memory/memory_pressure_controller_impl.h View 1 chunk +0 lines, -88 lines 0 comments Download
D content/browser/memory/memory_pressure_controller_impl.cc View 1 chunk +0 lines, -136 lines 0 comments Download
D content/browser/memory/memory_pressure_controller_impl_browsertest.cc View 1 chunk +0 lines, -276 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 chunks +0 lines, -2 lines 0 comments Download
M content/child/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
M content/child/child_thread_impl.cc View 1 2 chunks +0 lines, -2 lines 0 comments Download
D content/child/memory/child_memory_message_filter.h View 1 chunk +0 lines, -38 lines 0 comments Download
D content/child/memory/child_memory_message_filter.cc View 1 chunk +0 lines, -48 lines 0 comments Download
M content/common/BUILD.gn View 1 1 chunk +0 lines, -1 line 0 comments Download
M content/common/content_message_generator.h View 1 chunk +0 lines, -1 line 0 comments Download
D content/common/memory_messages.h View 1 chunk +0 lines, -39 lines 0 comments Download
M content/public/browser/BUILD.gn View 1 1 chunk +0 lines, -2 lines 0 comments Download
D content/public/browser/memory_pressure_controller.h View 1 chunk +0 lines, -40 lines 0 comments Download
D content/public/browser/memory_pressure_controller.cc View 1 chunk +0 lines, -27 lines 0 comments Download
M content/test/BUILD.gn View 1 1 chunk +0 lines, -1 line 0 comments Download
M ipc/ipc_message_start.h View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 39 (26 generated)
brettw
Merge
3 years, 7 months ago (2017-05-12 18:01:54 UTC) #6
brettw
3 years, 7 months ago (2017-05-12 19:17:21 UTC) #11
erikchen
lgtm with some questions: [partly directed at chrisha@, partly at brettw@] Is this the type ...
3 years, 7 months ago (2017-05-12 19:55:32 UTC) #13
brettw
On 2017/05/12 19:55:32, erikchen wrote: > lgtm with some questions: > > [partly directed at ...
3 years, 7 months ago (2017-05-12 20:05:58 UTC) #16
erikchen
On 2017/05/12 20:05:58, brettw wrote: > On 2017/05/12 19:55:32, erikchen wrote: > > lgtm with ...
3 years, 7 months ago (2017-05-12 20:07:55 UTC) #19
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/2882513004/20001
3 years, 7 months ago (2017-05-15 16:56:49 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/437063)
3 years, 7 months ago (2017-05-15 17:12:39 UTC) #25
brettw
TBR mbarbella@chromium.org for IPC messages security review (this patch just removes some).
3 years, 7 months ago (2017-05-15 20:21:50 UTC) #29
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/2882513004/20001
3 years, 7 months ago (2017-05-15 20:23:36 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/411656)
3 years, 7 months ago (2017-05-15 22:08:00 UTC) #33
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/2882513004/20001
3 years, 7 months ago (2017-05-15 22:30:04 UTC) #35
Martin Barbella
ipc changes lgtm
3 years, 7 months ago (2017-05-15 22:50:14 UTC) #36
commit-bot: I haz the power
3 years, 7 months ago (2017-05-15 23:20:34 UTC) #39
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/chromium/src/+/37c4e81eb4dfa713a06164dbce72...

Powered by Google App Engine
This is Rietveld 408576698