EVALUATION
This CR is now considered to have been caused as a result of a regression
introduced in 6888898 which affects all collectors, not just G1.
See 6896647 where that regression is being fixed.
|
|
|
EVALUATION
http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/fa357420e7d2
|
|
|
SUGGESTED FIX
The fix is to remove elements from the completed update buffer queue under control of the same lock using in the code that adds them. This means that we need only one (locking) version of get_completed_buffer.
|
|
|
EVALUATION
Race on the dirty card queue completed buffer list between worker thread(s) performing a flush of a deferred store barrier (enqueueing a newly completed buffer) and worker thread(s) in the RSet updating code claiming completed buffers.
|
|
|