JDK-8237143 : Eliminate DirtyCardQ_cbl_mon
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 15
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-01-14
  • Updated: 2022-01-30
  • Resolved: 2020-02-07
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 15
15 b10Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
The DirtyCardQ_cbl_mon is used to

(1) provide exclusive access to the G1DirtyCardQueueSet completed buffer queue, and

(2) provide notification by mutators to the primary ConcurrentRefineThread that there are enqueued buffers that should be processed by refinement threads.

This can lead to performance issues from lock contention, as all running mutator and concurrent refinement threads are occasionally taking that lock.

A lock-free buffer queue would fix the buffer queue contention problem.

There is still a residual source of contention from using a HotSpot Monitor for notification.  A different notification mechanism might address that, or perhaps polling by the primiary concurrent refinement thread.

Comments
Changeset: ccbd819a Author: Kim Barrett <kbarrett@openjdk.org> Date: 2020-02-06 19:09:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ccbd819a
07-02-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/59daa8db33ce User: kbarrett Date: 2020-02-07 00:41:17 +0000
07-02-2020