RFR: Added logging for the number of workers used for GC cycles

Zhengyu Gu zgu at redhat.com
Mon Jun 11 16:05:51 UTC 2018



On 06/11/2018 11:45 AM, Aleksey Shipilev wrote:
> On 06/11/2018 05:35 PM, Zhengyu Gu wrote:
>> Added logging for the number of workers used for GC cycles.
>>
>> Also fixed a few of calls for calculating concurrent workers to use right AdaptiveSizePolicy API.
>> However, this is just for correctness, there is not fundamental difference, since Shenandoah always
>> setup parallel # = conc # (when parallel # > 1), and AdaptiveSizePolicy basically uses the same
>> algorithm to calculate parallel # and conc #.
>>
>> We should also look into to tune the sizing settings/algorithm, it looks to me that heap capacity
>> factor can easily dominate result. By default, it uses 1 worker for 32M heap space, which only takes
>> 256M heap space to max out 8 parallel/concurrent workers. Given the heap size that Shenandoah is
>> targeting, it is almost always going to max out parallel/conc workers.
>>
>>
>> http://cr.openjdk.java.net/~zgu/shenandoah/calc_conc_workers/webrev/
> 
> Can't we put the loggers into ShenandoahWorkerScope constructor itself? I don't think we need "for
> XXX" messages all that much, because we can relate that with the other log lines, this simplifies
> the whole thing.
I would argument that, if apply gc+task filter, then the messages will 
be out-of-context without "for XXX".

Does ShenandoahWorkerScope(workers, n_workers, for XXX), so move logging 
into constructor, work for you?

Thanks,

-Zhengyu



> 
> Otherwise looks OK.
> 
> -Aleksey
> 


More information about the shenandoah-dev mailing list