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

Issue 10629004: Adapt fragmentation heuristics for over reserved pages. (Closed)

Created:
8 years, 6 months ago by Michael Starzinger
Modified:
8 years, 6 months ago
Reviewers:
Erik Corry
CC:
v8-dev
Visibility:
Public.

Description

Adapt fragmentation heuristics for over reserved pages. This adapts the heuristics that detect fragmented pages to reduce memory footprint for spaces with over reserved memory. This minimizes external fragmentation caused by pages that cannot be released to the OS because of just a few live objects on them. R=erik.corry@gmail.com TEST=cctest/test-heap/ReleaseOverReservedPages Committed: https://code.google.com/p/v8/source/detail?r=11901

Patch Set 1 #

Total comments: 8

Patch Set 2 : Addressed comments by Erik Corry. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+66 lines, -14 lines) Patch
M src/mark-compact.cc View 1 3 chunks +25 lines, -13 lines 0 comments Download
M test/cctest/test-alloc.cc View 1 chunk +2 lines, -1 line 0 comments Download
M test/cctest/test-heap.cc View 1 1 chunk +39 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Michael Starzinger
8 years, 6 months ago (2012-06-21 14:12:36 UTC) #1
Erik Corry
LGTM with modifications https://chromiumcodereview.appspot.com/10629004/diff/1/src/mark-compact.cc File src/mark-compact.cc (right): https://chromiumcodereview.appspot.com/10629004/diff/1/src/mark-compact.cc#newcode539 src/mark-compact.cc:539: // about choosing pages to free. ...
8 years, 6 months ago (2012-06-22 08:52:54 UTC) #2
Michael Starzinger
8 years, 6 months ago (2012-06-22 09:14:23 UTC) #3
Comments addressed. Landing ...

https://chromiumcodereview.appspot.com/10629004/diff/1/src/mark-compact.cc
File src/mark-compact.cc (right):

https://chromiumcodereview.appspot.com/10629004/diff/1/src/mark-compact.cc#ne...
src/mark-compact.cc:539: // about choosing pages to free.  We expect that halve
empty pages
On 2012/06/22 08:52:54, Erik Corry wrote:
> halve empty -> half-empty

Done.

https://chromiumcodereview.appspot.com/10629004/diff/1/src/mark-compact.cc#ne...
src/mark-compact.cc:548: // try to free all mostly empty pages.  We expect that
empty pages
On 2012/06/22 08:52:54, Erik Corry wrote:
> that empty pages -> that almost empty pages
> ?

Done.

https://chromiumcodereview.appspot.com/10629004/diff/1/src/mark-compact.cc#ne...
src/mark-compact.cc:552: freeness_threshold = 80;
On 2012/06/22 08:52:54, Erik Corry wrote:
> I think we shouldn't set this so high.  We might have 1/3 over-allocation and
no
> pages are 80% free, but that shouldn't exclude them all from consideration. 
We
> pick the best 'n' below anyway.

Done. Reverted it back to a constant of 50 like before. Less magic constants.

https://chromiumcodereview.appspot.com/10629004/diff/1/test/cctest/test-heap.cc
File test/cctest/test-heap.cc (right):

https://chromiumcodereview.appspot.com/10629004/diff/1/test/cctest/test-heap....
test/cctest/test-heap.cc:1929: // Triggering subsequent GCs should cause at
least halve of the pages
On 2012/06/22 08:52:54, Erik Corry wrote:
> halve -> half

Done.

Powered by Google App Engine
This is Rietveld 408576698