JDK 20 |
---|
20 b21Fixed |
Blocks :
|
|
Blocks :
|
|
CSR :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
JDK-8295819 :
|
After every GC G1 readjusts concurrent refinement thresholds with the goal to have X amount of unprocessed buffers at the start of GC to process in the update RS phase. X is calculated from the time available for the Update RS phase. The current calculation has the following issues: - it allows the green threshold to get zero. This means that both refinement threads *and* mutators are competing for the buffers. There is no need to run the threads. - there are magic factors to create the yellow and red thresholds that have nothing to do with actual application. - (this may be another issue) activating more refinement threads is not in any way related to the rate they are added to the queue. Ideally more threads would be dynamically activated as the rate the buffers are added to the queue changes
|