New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 620532 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Create more accurate memory pressure heuristic for Chromecast

Project Member Reported by halliwell@chromium.org, Jun 16 2016

Issue description

Currently CastMemoryPressureMonitor attempts to estimate free memory as (free + buffers + cache).  This is incorrect, and more recent kernel versions have a correct value 'MemAvailable' available directly in /proc/meminfo:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

We should use that instead.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 17 2016

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

commit c2eb0f97d26fc468881340104dbea0545808f375
Author: halliwell <halliwell@chromium.org>
Date: Fri Jun 17 19:04:52 2016

Add Linux MemAvailable to SystemMemoryInfoKB

This provides a better estimate of available memory:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

We would like to use it in Chromecast's memory pressure monitor.

BUG= 620532 

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

[modify] https://crrev.com/c2eb0f97d26fc468881340104dbea0545808f375/base/process/process_metrics.h
[modify] https://crrev.com/c2eb0f97d26fc468881340104dbea0545808f375/base/process/process_metrics_linux.cc

Project Member

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

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

commit c2eb0f97d26fc468881340104dbea0545808f375
Author: halliwell <halliwell@chromium.org>
Date: Fri Jun 17 19:04:52 2016

Add Linux MemAvailable to SystemMemoryInfoKB

This provides a better estimate of available memory:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

We would like to use it in Chromecast's memory pressure monitor.

BUG= 620532 

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

[modify] https://crrev.com/c2eb0f97d26fc468881340104dbea0545808f375/base/process/process_metrics.h
[modify] https://crrev.com/c2eb0f97d26fc468881340104dbea0545808f375/base/process/process_metrics_linux.cc

Project Member

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

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

commit be200eca4309e60f9d09739c3ff8fc92ead57c2e
Author: halliwell <halliwell@chromium.org>
Date: Fri Jul 15 00:55:20 2016

[Chromecast] Use MemAvailable to compute memory pressure

Now this has been backported to most of our kernels, it should be the
most accurate way to assess memory pressure level.

These threshold values should be tweaked in future based on metrics.

BUG= 620532 
TEST=monitored MemAvailable in multiple scenarios (media playback as
     well as background app)

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

[modify] https://crrev.com/be200eca4309e60f9d09739c3ff8fc92ead57c2e/chromecast/browser/cast_memory_pressure_monitor.cc

Status: Fixed (was: Assigned)

Sign in to add a comment