From rkennke at redhat.com Sun Nov 1 09:34:37 2015 From: rkennke at redhat.com (Roman Kennke) Date: Sun, 01 Nov 2015 10:34:37 +0100 Subject: Fwd: Build failed in Jenkins: project-shenandoah-jdk8 #17 In-Reply-To: References: <146780719.11930.1446319119919.JavaMail.zimbra@zmail12.collab.prod.int.phx2.redhat.com> Message-ID: <1446370477.4703.52.camel@redhat.com> Hi Mani, > Sounds good, let me know so I can enabled those flags and we can full > reports again. It should be fine now. Cheers, Roman From roman at kennke.org Sun Nov 1 11:06:02 2015 From: roman at kennke.org (roman at kennke.org) Date: Sun, 01 Nov 2015 11:06:02 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Added missing new file. Message-ID: <201511011106.tA1B62gm002722@aojmv0008.oracle.com> Changeset: 7664867deafb Author: rkennke Date: 2015-11-01 12:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/7664867deafb Added missing new file. + src/share/vm/gc_implementation/shenandoah/shenandoahOopClosures.inline.hpp From roman at kennke.org Mon Nov 2 12:48:30 2015 From: roman at kennke.org (roman at kennke.org) Date: Mon, 02 Nov 2015 12:48:30 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Make cld update refs closure in shenandoah mark-compact not claim CLDs. Message-ID: <201511021248.tA2CmUY6023949@aojmv0008.oracle.com> Changeset: bb4ea34e6892 Author: rkennke Date: 2015-11-02 13:48 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/bb4ea34e6892 Make cld update refs closure in shenandoah mark-compact not claim CLDs. ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp From sadhak001 at gmail.com Sun Nov 1 11:18:44 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Sun, 1 Nov 2015 11:18:44 +0000 Subject: Fwd: Build failed in Jenkins: project-shenandoah-jdk8 #17 In-Reply-To: <1446370477.4703.52.camel@redhat.com> References: <146780719.11930.1446319119919.JavaMail.zimbra@zmail12.collab.prod.int.phx2.redhat.com> <1446370477.4703.52.camel@redhat.com> Message-ID: Hi Roman, Thanks - I have enabled the flags and set the two instances to build - we will know in some hours. On another note, why does these flags not work: bash ./configure --with-jtreg=$JTREG_DIR --enable-option-checking=fatal \ --disable-warnings-as-errors --disable-zip-debug-info \ --with-debug-level=slowdebug --with-jvm-variants=client Currently we are using the below, which has been working fine: bash ./configure --with-cups-include=$WORKSPACE/cups-1.7.0 --with-jtreg=$JTREG_DIR What are the appropriate flags when setting up the build (using configure) and executing the build using (make ...), on a CI server for Shenandoah. Cheers, Mani On Sun, Nov 1, 2015 at 9:34 AM, Roman Kennke wrote: > Hi Mani, > > > Sounds good, let me know so I can enabled those flags and we can full > > reports again. > > It should be fine now. > > Cheers, > Roman > > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From sadhak001 at gmail.com Sun Nov 1 19:10:45 2015 From: sadhak001 at gmail.com (Mani Sarkar) Date: Sun, 1 Nov 2015 19:10:45 +0000 Subject: Fwd: Build failed in Jenkins: project-shenandoah-jdk8 #17 In-Reply-To: <1446370477.4703.52.camel@redhat.com> References: <146780719.11930.1446319119919.JavaMail.zimbra@zmail12.collab.prod.int.phx2.redhat.com> <1446370477.4703.52.camel@redhat.com> Message-ID: Hi Roman, These are now good, back in the green, both JDK8 and JDK9 versions: https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/project-shenandoah-jdk8/20/ https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/project-shenandoah-jdk9/59/ Thanks for fixing these. Cheers, Mani On Sun, Nov 1, 2015 at 9:34 AM, Roman Kennke wrote: > Hi Mani, > > > Sounds good, let me know so I can enabled those flags and we can full > > reports again. > > It should be fine now. > > Cheers, > Roman > > -- @theNeomatrix369 * | **Blog ** | *LJC Associate & LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project - *MutabilityDetector * | **Bitbucket * * | **Github * * | **LinkedIn * *Come to Devoxx UK 2016:* http://www.devoxx.co.uk/ *Don't chase success, rather aim for "Excellence", and success will come chasing after you!* From roman at kennke.org Mon Nov 2 21:39:47 2015 From: roman at kennke.org (roman at kennke.org) Date: Mon, 02 Nov 2015 21:39:47 +0000 Subject: hg: shenandoah/jdk9/hotspot: Make process-weakrefs code not check for need-updates on hot path. Don't push objects on mark queue that don't have refs. Cleanup cruft in marking code. Message-ID: <201511022139.tA2Ldlv7017967@aojmv0008.oracle.com> Changeset: 315269d6330c Author: rkennke Date: 2015-11-02 22:39 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/315269d6330c Make process-weakrefs code not check for need-updates on hot path. Don't push objects on mark queue that don't have refs. Cleanup cruft in marking code. ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.inline.hpp From roman at kennke.org Tue Nov 3 14:12:34 2015 From: roman at kennke.org (roman at kennke.org) Date: Tue, 03 Nov 2015 14:12:34 +0000 Subject: hg: shenandoah/jdk9/hotspot: Better inlining of evacuation code. More efficient bitmap resetting. Better root evacuation. Cleanup. Message-ID: <201511031412.tA3ECYjV009546@aojmv0008.oracle.com> Changeset: 0345cbc65dd8 Author: rkennke Date: 2015-11-03 15:12 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/0345cbc65dd8 Better inlining of evacuation code. More efficient bitmap resetting. Better root evacuation. Cleanup. ! src/share/vm/gc/shenandoah/brooksPointer.cpp ! src/share/vm/gc/shenandoah/brooksPointer.hpp + src/share/vm/gc/shenandoah/brooksPointer.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp From roman at kennke.org Thu Nov 5 10:35:40 2015 From: roman at kennke.org (roman at kennke.org) Date: Thu, 05 Nov 2015 10:35:40 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 6 new changesets Message-ID: <201511051035.tA5AZeiM005814@aojmv0008.oracle.com> Changeset: 1bfe2d788f42 Author: rkennke Date: 2015-11-04 16:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/1bfe2d788f42 Fix/finish implementing concurrent class unloading. ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp ! src/share/vm/runtime/arguments.cpp Changeset: bdeee2fcae19 Author: rkennke Date: 2015-11-04 16:23 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/bdeee2fcae19 Make sure interned strings are alive in Shenandoah. ! src/share/vm/classfile/symbolTable.cpp Changeset: f83a339b7a2a Author: rkennke Date: 2015-11-04 16:34 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/f83a339b7a2a Various little fixes and improvements to weakref processing and class unloading. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: ae3f3ec57139 Author: rkennke Date: 2015-11-04 16:51 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ae3f3ec57139 Mark and update roots in one pass. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 2a2bca6be5f6 Author: rkennke Date: 2015-11-04 17:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/2a2bca6be5f6 Make process-weakrefs code not check for need-updates on hot path. Don't push objects on mark queue that don't have refs. Cleanup cruft in marking code. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp Changeset: f4dc8f44b89b Author: rkennke Date: 2015-11-05 11:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/f4dc8f44b89b Better inlining of evacuation code. More efficient bitmap resetting. Better root evacuation. Cleanup. ! src/share/vm/gc_implementation/shenandoah/brooksPointer.cpp ! src/share/vm/gc_implementation/shenandoah/brooksPointer.hpp + src/share/vm/gc_implementation/shenandoah/brooksPointer.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp From roman at kennke.org Fri Nov 6 17:00:50 2015 From: roman at kennke.org (roman at kennke.org) Date: Fri, 06 Nov 2015 17:00:50 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 2 new changesets Message-ID: <201511061700.tA6H0o2J001251@aojmv0008.oracle.com> Changeset: 49b935f6a128 Author: rkennke Date: 2015-11-06 17:56 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/49b935f6a128 Scan and update roots in one pass in mark-compact. ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: 916d21c224dd Author: rkennke Date: 2015-11-06 17:59 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/916d21c224dd Disable concurrent class unloading by default on Shenandoah. ! src/share/vm/runtime/arguments.cpp From roman at kennke.org Mon Nov 9 15:06:38 2015 From: roman at kennke.org (roman at kennke.org) Date: Mon, 09 Nov 2015 15:06:38 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 2 new changesets Message-ID: <201511091506.tA9F6c22024514@aojmv0008.oracle.com> Changeset: 1f9e79a5348b Author: rkennke Date: 2015-11-09 16:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/1f9e79a5348b Removed obsolete code paths. ! src/cpu/x86/vm/shenandoahBarrierSet_x86.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vm_operations.hpp Changeset: c47599f04723 Author: rkennke Date: 2015-11-09 16:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/c47599f04723 Move obj-striding to concurrent marking phase. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp From roman at kennke.org Wed Nov 11 13:42:53 2015 From: roman at kennke.org (roman at kennke.org) Date: Wed, 11 Nov 2015 13:42:53 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Implement support for JVMStat, fix support for JMX monitoring in Shenandoah. Message-ID: <201511111342.tABDgrLP009413@aojmv0008.oracle.com> Changeset: 3efe525ee972 Author: rkennke Date: 2015-11-11 14:42 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/3efe525ee972 Implement support for JVMStat, fix support for JMX monitoring in Shenandoah. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp + src/share/vm/gc_implementation/shenandoah/shenandoahMonitoringSupport.cpp + src/share/vm/gc_implementation/shenandoah/shenandoahMonitoringSupport.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp From rkennke at redhat.com Wed Nov 11 14:50:39 2015 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 11 Nov 2015 15:50:39 +0100 Subject: How to show the gc pause time with UseShenandoahGC In-Reply-To: <2e58542c.8ada.15098528da7.Coremail.zjusch@163.com> References: <1445595037.29192.71.camel@redhat.com> <2e58542c.8ada.15098528da7.Coremail.zjusch@163.com> Message-ID: <1447253439.3092.36.camel@redhat.com> Hi there, > I found the tool ?jstat -gcuitl? not work with ShenandoahGC.??It > would be better if have a similar tool. I just committed a change to our jdk8 tree that implements jvmstat and jmx support for Shenandoah. I verified that jstat -gcutil works now. As does JConsole, and other monitoring tools as well. Give it a try. The change is not yet in our JDK9 repo, but should arrive there soon. Let me know! Cheers, Roman > Thanks. > > At 2015-10-23 18:10:37, "Roman Kennke" wrote: > >I think you are looking at the right logs. Shenandoah does two > pauses: > >InitMark and InitEvac. You can find it in the log: > > > >> 2015-10-23T15:10:35.930+0800: 1738.287: [GC InitMark end, 0.017967 > >> secs total = 75497472 K, used = 51861702 K free = 23635769 K] > > > >Here you got 12.9 ms for InitMark. > > > >The other pause is a bit more difficult to find, because it spans > over > >several intervals: > >The first is FinalMark: > >> 2015-10-23T15:10:36.182+0800: 1738.538: [GC FinalMark end, > 0.034520 > >> secs total = 75497472 K, used = 52252771 K free = 23244700 K] > > > >34.5ms > > > >Then PrepareEvac: > > > >> 2015-10-23T15:10:36.183+0800: 1738.539: [GC PrepareEvac end, > 0.000964 > >> secs total = 75497472 K, used = 23712714 K free = 51784757 K] > > > >0.96ms > > > >and InitEvac: > > > >> 2015-10-23T15:10:36.190+0800: 1738.547: [GC InitEvac end, 0.007175 > >> secs total = 75497472 K, used = 23715364 K free = 51782108 K] > > > >7.1ms > > > >They all add up to a total pause of 42,56ms > > > >Since they all go in one pause, we should probably make a > measurement > >interval around them for better usability. > > > >When you turn on -XX:+PrintGCDetails you will find interesting pause > >statistics on program termination. E.g. number of pauses, avg and > max > >pause time, std deviation, etc. > > > >I hope it helps, let us know! > > > >Roman > > > > > ? From roman at kennke.org Thu Nov 12 20:35:35 2015 From: roman at kennke.org (roman at kennke.org) Date: Thu, 12 Nov 2015 20:35:35 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 3 new changesets Message-ID: <201511122035.tACKZZMB022194@aojmv0008.oracle.com> Changeset: 51cbad572091 Author: rkennke Date: 2015-11-12 21:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/51cbad572091 Improve JvmStat support. ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMonitoringSupport.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMonitoringSupport.hpp Changeset: 0413fa7dedeb Author: rkennke Date: 2015-11-12 21:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/0413fa7dedeb Don't replace C2 write barriers with constants. ! src/share/vm/opto/phaseX.cpp Changeset: e56ca6ca84f7 Author: rkennke Date: 2015-11-12 21:35 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/e56ca6ca84f7 Update refs in JNI weak references before processing them. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp From roman at kennke.org Thu Nov 26 21:38:50 2015 From: roman at kennke.org (roman at kennke.org) Date: Thu, 26 Nov 2015 21:38:50 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 5 new changesets Message-ID: <201511262138.tAQLcoBu028052@aojmv0008.oracle.com> Changeset: 02a5f971dcda Author: rkennke Date: 2015-11-26 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/02a5f971dcda Added measurements of gross pause times. ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp Changeset: 3badfa815b8e Author: rkennke Date: 2015-11-26 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/3badfa815b8e Small build fix. ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 0a1c2db89784 Author: rkennke Date: 2015-11-26 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/0a1c2db89784 Remove bogus safepoint synchronize code for Shenandoah. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.hpp ! src/share/vm/runtime/safepoint.cpp Changeset: ee64ddc5460a Author: rkennke Date: 2015-11-26 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ee64ddc5460a Improve root scanning. ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahOopClosures.inline.hpp Changeset: 6db5660c2a8e Author: rkennke Date: 2015-11-26 22:37 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/6db5660c2a8e Fix scanning of regions when dead objects point to unloaded classes. Happens with concurrent class unloading. ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp ! src/share/vm/opto/shenandoahSupport.cpp ! src/share/vm/runtime/arguments.cpp