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
- Previous message (by thread): RFR: 8027423: Parallel compact GC class unloading measurement includes symbol and string table time
- Next message (by thread): RFR: 8027423: Parallel compact GC class unloading measurement includes symbol and string table time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message (by thread): RFR: 8027423: Parallel compact GC class unloading measurement includes symbol and string table time
- Next message (by thread): RFR: 8027423: Parallel compact GC class unloading measurement includes symbol and string table time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]