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

Issue 605866 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug-Regression



Sign in to add a comment

Non-contiguous new space regresses GC time

Project Member Reported by mlippautz@chromium.org, Apr 22 2016

Issue description

Nexus5X measurements: committing and uncommitting memory 
- before the CL: 4.015
- after the CL: 8.864

Most of the accumulated time is spent in uncommitting which make sense because Linux uses on-demand paging mapping in physical memory.
out-base.log
1.8 KB View Download
out-non-cont.log
7.3 KB View Download
Issue 603460 has been merged into this issue.
For documentation, the commit:
  https://crrev.com/3f92137209ce3c1d46d6498678cce0944c460b4d
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2158df87116906160cebc3ad20c97f454822da03

commit 2158df87116906160cebc3ad20c97f454822da03
Author: mlippautz <mlippautz@chromium.org>
Date: Tue Apr 26 16:44:06 2016

[heap] Uncommit pooled pages concurrently

- Move the concurrent unmapping to MemoryAllocator
- Hide (private) members where possible
- MemoryAllocator:Free is now the bottleneck for freeing
- Pooled pages are either allocated from a set of pooled pages are obtained
  through work stealing from the concurrent unmapper

BUG= chromium:605866 , chromium:581412
LOG=N

Review URL: https://codereview.chromium.org/1913083002

Cr-Commit-Position: refs/heads/master@{#35797}

[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/src/deoptimizer.cc
[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/src/heap/heap.cc
[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/src/heap/heap.h
[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/src/heap/mark-compact.cc
[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/src/heap/spaces.cc
[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/src/heap/spaces.h
[modify] https://crrev.com/2158df87116906160cebc3ad20c97f454822da03/test/cctest/heap/test-spaces.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/25ff296c4c8d35c63255531a86f877f20eeaeb62

commit 25ff296c4c8d35c63255531a86f877f20eeaeb62
Author: hablich <hablich@chromium.org>
Date: Wed Apr 27 12:39:31 2016

Revert of [heap] Uncommit pooled pages concurrently (patchset #5 id:120001 of https://codereview.chromium.org/1913083002/ )

Reason for revert:
Creates a spike of OOM(v8) crashers on Win32.

Original issue's description:
> [heap] Uncommit pooled pages concurrently
>
> - Move the concurrent unmapping to MemoryAllocator
> - Hide (private) members where possible
> - MemoryAllocator:Free is now the bottleneck for freeing
> - Pooled pages are either allocated from a set of pooled pages are obtained
>   through work stealing from the concurrent unmapper
>
> BUG= chromium:605866 , chromium:581412
> LOG=N
>
> Committed: https://crrev.com/2158df87116906160cebc3ad20c97f454822da03
> Cr-Commit-Position: refs/heads/master@{#35797}

TBR=hpayer@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:605866 , chromium:581412

Review URL: https://codereview.chromium.org/1925563003

Cr-Commit-Position: refs/heads/master@{#35819}

[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/src/deoptimizer.cc
[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/src/heap/heap.cc
[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/src/heap/heap.h
[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/src/heap/mark-compact.cc
[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/src/heap/spaces.cc
[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/src/heap/spaces.h
[modify] https://crrev.com/25ff296c4c8d35c63255531a86f877f20eeaeb62/test/cctest/heap/test-spaces.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/45f52fcb60f75bfe5dc5f6a83317a14db631cf18

commit 45f52fcb60f75bfe5dc5f6a83317a14db631cf18
Author: mlippautz <mlippautz@chromium.org>
Date: Fri Apr 29 14:27:41 2016

Reland of "[heap] Uncommit pooled pages concurrently"

- Move the concurrent unmapping to MemoryAllocator
- Hide (private) members where possible
- MemoryAllocator:Free is now the bottleneck for freeing
- Pooled pages are either allocated from a set of pooled pages are obtained
  through work stealing from the concurrent unmapper

BUG= chromium:605866 , chromium:581412
LOG=N

This reverts commit 25ff296c4c8d35c63255531a86f877f20eeaeb62.

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

[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/src/deoptimizer.cc
[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/src/heap/heap.cc
[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/src/heap/heap.h
[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/src/heap/mark-compact.cc
[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/src/heap/spaces.cc
[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/src/heap/spaces.h
[modify] https://crrev.com/45f52fcb60f75bfe5dc5f6a83317a14db631cf18/test/cctest/heap/test-spaces.cc

Status: Fixed (was: Assigned)
Nothing to be done here anymore.

Sign in to add a comment