-
Enhancement
-
Resolution: Fixed
-
P4
-
15
-
b10
(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.
- relates to
-
JDK-8238867 Improve G1DirtyCardQueueSet::Queue::pop
-
- Resolved
-
-
JDK-8238979 Improve G1DirtyCardQueueSet handling of previously paused buffers
-
- Resolved
-
-
JDK-8280917 Simplify G1ConcurrentRefineThread activation
-
- Resolved
-
-
JDK-8352138 G1: Remove G1AddMetaspaceDependency.java test
-
- Resolved
-
-
JDK-8279957 Main refinement thread tries to wake up itself when re-enqueuing causing assertion failure
-
- Closed
-
-
JDK-8162929 Enqueuing dirty cards into a single DCQS during GC does not scale
-
- Resolved
-
-
JDK-8263551 Provide shared lock-free FIFO queue implementation
-
- Resolved
-
- links to
-
Commit openjdk/panama-foreign/ccbd819a