JDK-8259231 : Epsilon: improve performance under contention during virtual space expansion
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 11,16,17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-01-05
  • Updated: 2021-03-09
  • Resolved: 2021-01-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 16 JDK 17
11.0.11Fixed 16.0.1Fixed 17 b05Fixed
Description

This is on behalf of <lehuading@tencent.com>

The `EpsilonHeap::allocate_work` method maybe can be fixed and improved by this:
1. it can prevent allocate failure by retry `_space->par_allocate` before expanding virtual space,  when there not enough virtual space but another thread expanding succeeded just and has enough space.
2. it can reduce the lock time by move `res = _space->par_allocate(size);` out of lock scope.
Comments
Fix Request (16u) Same reason as for 11u.
02-03-2021

Fix Request (11u) This improves Epsilon performance under contention, and helps to keep the codebases in sync across releases. There is a minor conflict with MutexLocker(Ex) that had to be resolved, so 11u RFR (acked by phh): https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2021-January/004601.html, https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2021-January/004611.html
13-01-2021

Changeset: 722f2361 Author: Lehua Ding <lehuading@tencent.com> Committer: Aleksey Shipilev <shade@openjdk.org> Date: 2021-01-06 15:36:57 +0000 URL: https://git.openjdk.java.net/jdk/commit/722f2361
06-01-2021