RFR (S/M): 8151069: Parallelize clearing the per-thread concurrent mark data structures

sangheon sangheon.kim at oracle.com
Wed Mar 9 00:36:36 UTC 2016


Hi Thomas,

Looks good.
I have same request as Tom for adding some explanation.

And I have one more question.
You are using '_g1h->workers()' and '_parallel_workers' for 
'clear_all_count_data()'. And their total workers will be 
'ParallelGCThread' and 'ConcGCThread' as a default. So how about using 
WorkGang::total_workers() instead of '_max_worker_id'?
2662   G1ClearCountDataTask cl(this, &_card_bm, &_region_bm, 
_max_worker_id);

Thanks,
Sangheon


On 03/04/2016 02:01 AM, Thomas Schatzl wrote:
> Hi,
>
>    clearing the per-thread concurrent mark data structures single
> threaded is a really bad idea since it lenghtens the concurrent mark
> cycle.
>
> This change parallelizes this work. It is based on JDK-8077144.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8151069
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8151069/webrev/
> Testing:
> jprt, vm.gc testlist, some applications
>
> Thanks,
>    Thomas




More information about the hotspot-gc-dev mailing list