RFR: 8027423: Parallel compact GC class unloading measurement includes symbol and string table time (original) (raw)

Jon Masamitsu jon.masamitsu at oracle.com
Tue Mar 15 21:25:47 UTC 2016


Stefan,

Thanks for this enhancement.

http://cr.openjdk.java.net/~stefank/8027423/webrev.00/src/share/vm/gc/g1/g1MarkSweep.cpp.frames.html

The timing for unlink_string_and_symbol_table()

170 { 171 GCTraceTime(Debug, gc) t("Scrub String and Symbol Tables", gctimer()); 172 // Delete entries for dead interned string and clean up unreferenced symbols in symbol table. 173 g1h->unlinkstringandsymboltable(&GenMarkSweep::isalive); 174 }

will include unlinking of the string Dedup table

4092 if (G1StringDedup::isenabled()) { 4093 G1StringDedup::unlink(isalive); 4094 }

The other call to G1StringDedup::unlink() in "share/vm/gc/g1/g1ConcurrentMark.cpp" has its own GCTraceTime

2127 if (G1StringDedup::isenabled()) { 2128 GCTraceTime(Trace, gc) trace("String Deduplication Unlink", g1h->gctimercm()); 2129 G1StringDedup::unlink(&g1isalive); 2130 }

Why not give the first G1StringDedup::unlink() call its own timer? And bring the

GCTraceTime(Debug, gc) t("Scrub String and Symbol Tables", gc_timer());

into unlink_string_and_symbol_table()?

Jon

On 3/14/2016 7:22 AM, Stefan Karlsson wrote:

Hi all,

Please review this patch to get more detailed phase measurements of the unloading phases of the parallel and serial collectors. It mimics the way CMS reports the unloading phase. G1 parallelizes the unloading phase, so it is slightly different. http://cr.openjdk.java.net/~stefank/8027423/webrev.00/ https://bugs.openjdk.java.net/browse/JDK-8027423 Example of the output that you get with -Xlog:gc=debug: [2.257s][debug][gc] GC(45) Class Unloading (2.256s, 2.257s) 1.669ms [2.258s][debug][gc] GC(45) Scrub String Table (2.257s, 2.258s) 0.412ms [2.259s][debug][gc] GC(45) Scrub Symbol Table (2.258s, 2.259s) 1.027ms [2.292s][info ][gc] GC(45) Pause Full (System.gc()) 80M->2M(98M) (2.248s, 2.292s) 44.631ms Thanks, StefanK



More information about the hotspot-gc-dev mailing list