RFR: Enforce GC workers constraint

Roman Kennke rkennke at redhat.com
Thu Sep 6 19:32:21 UTC 2018


Am 06.09.2018 um 21:25 schrieb Aleksey Shipilev:
> On 09/06/2018 08:53 PM, Zhengyu Gu wrote:
>> CMS and G1 enforce GC worker constraint:
>>   Parallel workers >= Concurrent workers
>>
>> Shenandoah should probably do so.
>>
>> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/gc_worker_constraints/webrev.00/
> 
> The patch is okay, and probably sensible. But do we need to do this? Does it allow for any
> convenience in our code? I can mind-wrestle the example where having more concurrent threads (e.g.
> 4) than parallel (e.g. 2) is beneficial. Seems inconvenient to tie them together without the reason.
> 

I was thinking the same.

The issues are probably:
- we need to keep testing this weird case to ensure it doesn't get broken
- IIRC, we have some extra code block to deal with that case and
re-balance the task queues when going from more conc-TQs to fewer
par-TQs at the beginning of final-mark/final-traversal. We could wipe
those blocks I think. Zhengyu probably knows better about this. However,
if this is the case, those code blocks should be wiped together with the
rest of the patch.

Roman



More information about the shenandoah-dev mailing list