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

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