RFR(s): 8029162: G1: Shared SATB queue never enabled

Per Liden per.liden at oracle.com
Fri Nov 29 08:47:31 UTC 2013

Hi Mikael,

On 2013-11-29 08:59, Mikael Gerdin wrote:
> Per,
> On Thursday 28 November 2013 17.49.53 Per Liden wrote:
>> Summary: When activating/deactivating the G1 pre-barrier all SATB queues
>> are looped through and have their active state set accordingly. There is
>> one queue per Java thread and a shared queue for all non-Java threads.
>> The loop done to set the active state of all queues forgets to set the
>> active state on the shared queue. I suspect this was missed because the
>> logic in SATBMarkQueueSet::set_active_all_threads() is mixed with quite
>> a bit of verification code. This patch also moves this verification code
>> out into a separate function.
>> Testing done: jprt, kitchensink (10 hours), gcbasher (10 hours)
>> http://cr.openjdk.java.net/~pliden/8029162/webrev.0/
> The change looks good to me.

Thanks for reviewing!

> Since this change enables the bug in JDK-8029255 I assume that these changes
> must be applied together?

Not necessarily applied together, but yes, JDK-892255 needs to be 
applied first. That patch is not dependent on this fix.


> /Mikael
>> https://bugs.openjdk.java.net/browse/JDK-8029162
>> cheers,
>> /Per

More information about the hotspot-gc-dev mailing list