mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
6816154: G1: introduce flags to enable/disable RSet updating and scanning
Introduces two flags, -XX:-/+G1EnableParallelRSetUpdating and -XX:-/+G1EnableParallelRSetScanning, to turn on/off the "band aid" fix that serializes RSet updating / scanning during GCs. Reviewed-by: iveresov
This commit is contained in:
parent
82619cc8da
commit
217739210d
2 changed files with 18 additions and 7 deletions
|
@ -502,14 +502,17 @@ HRInto_G1RemSet::oops_into_collection_set_do(OopsInHeapRegionClosure* oc,
|
|||
}
|
||||
|
||||
if (ParallelGCThreads > 0) {
|
||||
// This is a temporary change to serialize the update and scanning
|
||||
// of remembered sets. There are some race conditions when this is
|
||||
// done in parallel and they are causing failures. When we resolve
|
||||
// said race conditions, we'll revert back to parallel remembered
|
||||
// set updating and scanning. See CRs 6677707 and 6677708.
|
||||
if (worker_i == 0) {
|
||||
// The two flags below were introduced temporarily to serialize
|
||||
// the updating and scanning of remembered sets. There are some
|
||||
// race conditions when these two operations are done in parallel
|
||||
// and they are causing failures. When we resolve said race
|
||||
// conditions, we'll revert back to parallel remembered set
|
||||
// updating and scanning. See CRs 6677707 and 6677708.
|
||||
if (G1EnableParallelRSetUpdating || (worker_i == 0)) {
|
||||
updateRS(worker_i);
|
||||
scanNewRefsRS(oc, worker_i);
|
||||
}
|
||||
if (G1EnableParallelRSetScanning || (worker_i == 0)) {
|
||||
scanRS(oc, worker_i);
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue