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

Issue 834371 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Incremental/concurrent marking sometimes takes long time to finish

Project Member Reported by u...@chromium.org, Apr 18 2018

Issue description

The following example allocates short-living arrays. About 8MB are live at any given point.

In local runs I observe that incremental/concurrent marking sometimes takes ~200 steps to complete.

const kArrayLength = 10000;
const kLiveArrays = 100;

let arrays = [];

function new_array() {
  let result = new Array(kArrayLength);
  for (let i = 0; i < kArrayLength; i++) {
    result[i] = i;
  }
  return result;
}

while (true) {
  arrays.push(new_array());
  if (arrays.length > kLiveArrays) {
    arrays.shift();
  }
}

 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 19 2018

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

commit 2998a1761a55975969e7e22fb56bf4cf61cf5f77
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Thu Apr 19 15:09:32 2018

[heap] Removing marking step size ramp-up interval heuristic.

The heuristic is no longer needed now that we have concurrent marking.

Bug: chromium:834371
Change-Id: I8ca3eaacdab618f690d8007aff66713260ace19f
Reviewed-on: https://chromium-review.googlesource.com/1017123
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52693}
[modify] https://crrev.com/2998a1761a55975969e7e22fb56bf4cf61cf5f77/src/heap/heap.cc
[modify] https://crrev.com/2998a1761a55975969e7e22fb56bf4cf61cf5f77/src/heap/incremental-marking.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 23 2018

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

commit dd0ce92422b3d3eb377d0baab4e5ac2aaa898741
Author: Ulan Degenbaev <ulan@chromium.org>
Date: Mon Apr 23 11:50:46 2018

Revert "[heap] Removing marking step size ramp-up interval heuristic."

This reverts commit 2998a1761a55975969e7e22fb56bf4cf61cf5f77.

Reason for revert: perf regressions crbug.com/835472

Original change's description:
> [heap] Removing marking step size ramp-up interval heuristic.
> 
> The heuristic is no longer needed now that we have concurrent marking.
> 
> Bug: chromium:834371
> Change-Id: I8ca3eaacdab618f690d8007aff66713260ace19f
> Reviewed-on: https://chromium-review.googlesource.com/1017123
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#52693}

TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:834371
Change-Id: I574abd75e77ae9ff443419f01750a3f01072adaf
Reviewed-on: https://chromium-review.googlesource.com/1023890
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52728}
[modify] https://crrev.com/dd0ce92422b3d3eb377d0baab4e5ac2aaa898741/src/heap/heap.cc
[modify] https://crrev.com/dd0ce92422b3d3eb377d0baab4e5ac2aaa898741/src/heap/incremental-marking.cc

Sign in to add a comment