FastSyncRoots and monitor deflation question

Roman Kennke rkennke at redhat.com
Fri Sep 14 08:06:34 UTC 2018


> Also...:
> 
>> I also see this stuff:
>>
>>   experimental(bool, ShenandoahMergeSafepointCleanup, false,
>>    \
>>               "Do safepoint cleanup piggy-backed on thread scans")
>>    \
>>
>>    \
>>   experimental(uint, ParallelSafepointCleanupThreads, 0,
>>    \
>>           "Number of parallel threads used for safepoint cleanup")
>>    \
>>
>>    \
>>
>>
>> I.e. our improvements (if they are) to safepoint cleanup are turned off
>> by default, and thus probably totally untested. Do we know if it
>> actually helps? Would it be worth turning on by default so that it gets
>> testing? Otherwise remove/revert the corresponding code changes and
>> wait/work-on concurrent monitor deflation?
> 
> ParallelSafepointCleanupThreads is something that is basically
> upstreamed, at least the API, and used by other collectors (G1 and Z).
> We may just want to enable it.
> 
> About piggy-backing SP cleanup, I dunno if it's useful. It seems mostly
> untested though, and also introduces some significant upstreaming burden
> in very hairy code (synchronizer...). Maybe remove that stuff and wait
> for conc monitor deflation?

And sure enough, this stuff crashes when enabled
(+ShenandoahMergeSafepointCleanup). Not sure if it ever worked stable.

I also posted a note on hotspot-runtime-dev and hotspot-gc-dev to see if
there is interest in getting something like this upstreamed:

http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-September/023259.html

If not, I suggest to drop that stuff.

Roman



More information about the shenandoah-dev mailing list