Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
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.
|