Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
Recent posting to hotspot-gc-dev@openjdk.java.net shows very high JNI weak reference processing times, i.e. over 6 seconds during a parallel CMS remark. Here is a GC log entry for a CMS Remark: 2015-02-03T03:24:27.419-0800: 17917.047: [Rescan (parallel) , 0.0625400 secs]2015-02-03T03:24:27.482-0800: 17917.110: [weak refs processing2015-02-03T03:24:27.482-0800: 17917.110: [SoftReference, 1 refs, 0.0010820 secs]2015-02-03T03:24:27.483-0800: 17917.111: [WeakReference, 0 refs, 0.0015340 secs]2015-02-03T03:24:27.484-0800: 17917.112: [FinalReference, 0 refs, 0.0007930 secs]2015-02-03T03:24:27.485-0800: 17917.113: [PhantomReference, 0 refs, 0.0008860 secs]2015-02-03T03:24:27.486-0800: 17917.114: [JNI Weak Reference, 6.1104040 secs], 6.1148360 secs]2015-02-03T03:24:33.596-0800: 17923.225: [scrub string table, 0.0006670 secs] [1 CMS-remark: 531682K(5242880K)] 1827698K(7759488K), 6.1785190 secs] [Times: user=7.22 sys=0.00, real=6.18 secs] AFAIK, all HotSpot collectors (G1 GC, Parallel GC, CMS GC and Serial GC) are single threaded when it comes to processing JNI weak references even with -XX:+ParallelRefProcEnabled. This enhancement request is for multi-threading the processing of JNI weak references.