Prepopulated SerialGC old gen causes slow GC verification
Ioi Lam
ioi.lam at oracle.com
Wed Sep 8 18:14:35 UTC 2021
I am trying to implement JDK-8273508 - Support archived heap objects in
SerialGC
https://github.com/openjdk/jdk/compare/master...iklam:8273508-archived-heap-objects-for-serial-gc?expand=1
My initial implementation copies the archived objects into
SerialHeap::old_gen(). However, this causes very slow GC verification:
$ java -Xlog:gc+verify -XX:+UseSerialGC -version
[2.446s][info][gc,verify] Verifying 1891.996ms
[4.316s][info][gc,verify] Verifying 1864.602ms
[6.209s][info][gc,verify] Verifying 1890.085ms
[8.090s][info][gc,verify] Verifying 1878.792ms
[9.981s][info][gc,verify] Verifying 1873.986ms
[11.872s][info][gc,verify] Verifying 1887.524ms
[13.766s][info][gc,verify] Verifying 1880.724ms
[15.609s][info][gc,verify] Verifying 1841.357ms
[17.476s][info][gc,verify] Verifying 1865.397ms
[19.345s][info][gc,verify] Verifying 1865.539ms
[21.243s][info][gc,verify] Verifying 1894.178ms
[23.116s][info][gc,verify] Verifying 1871.097ms
[24.966s][info][gc,verify] Verifying 1848.107ms
[26.816s][info][gc,verify] Verifying 1848.846ms
[28.698s][info][gc,verify] Verifying 1876.097ms
[30.609s][info][gc,verify] Verifying 1909.611ms
java version "18-internal" 2022-03-15
Java(TM) SE Runtime Environment (fastdebug build
18-internal+0-adhoc.iklam.open)
Java HotSpot(TM) 64-Bit Server VM (fastdebug build
18-internal+0-adhoc.iklam.open, mixed mode, sharing)
[32.503s][info][gc,verify] Verifying 1879.452ms
So in my current revision, I allocate from SerialHeap::young_gen()
instead (See the "#if 1" in serialHeap.cpp)
$ java -Xlog:gc+verify -XX:+UseSerialGC -version
[0.569s][info][gc,verify] Verifying 10.830ms
[0.577s][info][gc,verify] Verifying 7.724ms
[0.587s][info][gc,verify] Verifying 7.941ms
[0.595s][info][gc,verify] Verifying 7.937ms
[0.617s][info][gc,verify] Verifying 10.125ms
[0.627s][info][gc,verify] Verifying 8.932ms
[0.649s][info][gc,verify] Verifying 9.737ms
[0.659s][info][gc,verify] Verifying 9.194ms
[0.670s][info][gc,verify] Verifying 8.889ms
[0.680s][info][gc,verify] Verifying 8.752ms
[0.692s][info][gc,verify] Verifying 9.067ms
[0.703s][info][gc,verify] Verifying 9.924ms
[0.715s][info][gc,verify] Verifying 9.874ms
[0.725s][info][gc,verify] Verifying 9.164ms
[0.740s][info][gc,verify] Verifying 9.282ms
[0.751s][info][gc,verify] Verifying 9.383ms
java version "18-internal" 2022-03-15
Java(TM) SE Runtime Environment (fastdebug build
18-internal+0-adhoc.iklam.open)
Java HotSpot(TM) 64-Bit Server VM (fastdebug build
18-internal+0-adhoc.iklam.open, mixed mode, sharing)
[0.767s][info][gc,verify] Verifying 10.270ms
Does anyone know how to fix this properly?
Thanks
- Ioi
More information about the hotspot-gc-dev
mailing list