--- old/src/hotspot/share/gc/g1/g1InitLogger.cpp 2020-05-26 13:54:10.739538659 +0200 +++ new/src/hotspot/share/gc/g1/g1InitLogger.cpp 2020-05-26 13:54:10.507537509 +0200 @@ -40,6 +40,16 @@ } } +void G1InitLogger::print_gc_specific() { + // Print a message about periodic GC configuration. + if (G1PeriodicGCInterval != 0) { + log_info(gc, init)("Periodic GC: Enabled"); + log_info(gc, init)("Periodic GC Interval: " UINTX_FORMAT "ms", G1PeriodicGCInterval); + } else { + log_info(gc, init)("Periodic GC: Disabled"); + } +} + void G1InitLogger::print() { G1InitLogger init_log; init_log.print_all(); --- old/src/hotspot/share/gc/g1/g1InitLogger.hpp 2020-05-26 13:54:11.159540742 +0200 +++ new/src/hotspot/share/gc/g1/g1InitLogger.hpp 2020-05-26 13:54:10.871539314 +0200 @@ -31,7 +31,7 @@ protected: virtual void print_heap(); virtual void print_workers(); - + virtual void print_gc_specific(); public: static void print(); }; --- old/src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.cpp 2020-05-26 13:54:11.563542745 +0200 +++ new/src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.cpp 2020-05-26 13:54:11.283541357 +0200 @@ -101,13 +101,6 @@ void G1YoungRemSetSamplingThread::run_service() { double vtime_start = os::elapsedVTime(); - // Print a message about periodic GC configuration. - if (G1PeriodicGCInterval != 0) { - log_info(gc)("Periodic GC enabled with interval " UINTX_FORMAT "ms", G1PeriodicGCInterval); - } else { - log_info(gc)("Periodic GC disabled"); - } - while (!should_terminate()) { sample_young_list_rs_length(); --- old/src/hotspot/share/gc/shared/gcInitLogger.cpp 2020-05-26 13:54:11.971544769 +0200 +++ new/src/hotspot/share/gc/shared/gcInitLogger.cpp 2020-05-26 13:54:11.691543380 +0200 @@ -39,6 +39,7 @@ print_compressed_oops(); print_heap(); print_workers(); + print_gc_specific(); } void GCInitLogger::print() { @@ -106,6 +107,10 @@ } } +void GCInitLogger::print_gc_specific() { + // To allow additional gc specific logging. +} + const char* GCInitLogger::large_pages_support() { if (UseLargePages) { #ifdef LINUX --- old/src/hotspot/share/gc/shared/gcInitLogger.hpp 2020-05-26 13:54:12.387546831 +0200 +++ new/src/hotspot/share/gc/shared/gcInitLogger.hpp 2020-05-26 13:54:12.103545423 +0200 @@ -38,6 +38,7 @@ virtual void print_compressed_oops(); virtual void print_heap(); virtual void print_workers(); + virtual void print_gc_specific(); public: void print_all(); static void print(); --- old/test/hotspot/jtreg/gc/g1/TestPeriodicCollection.java 2020-05-26 13:54:12.763548696 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestPeriodicCollection.java 2020-05-26 13:54:12.491547347 +0200 @@ -31,8 +31,8 @@ * @library /test/lib / * @modules java.base/jdk.internal.misc * @modules java.management/sun.management - * @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:+G1PeriodicGCInvokesConcurrent -Xlog:gc,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection - * @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:-G1PeriodicGCInvokesConcurrent -Xlog:gc,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection + * @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:+G1PeriodicGCInvokesConcurrent -Xlog:gc*,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection + * @run main/othervm -XX:MaxNewSize=32M -XX:InitialHeapSize=48M -Xmx128M -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 -XX:+UseG1GC -XX:G1PeriodicGCInterval=3000 -XX:-G1PeriodicGCInvokesConcurrent -Xlog:gc*,gc+periodic=debug,gc+ergo+heap=debug gc.g1.TestPeriodicCollection */ import com.sun.management.HotSpotDiagnosticMXBean; --- old/test/hotspot/jtreg/gc/g1/TestPeriodicCollectionJNI.java 2020-05-26 13:54:13.167550699 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestPeriodicCollectionJNI.java 2020-05-26 13:54:12.883549291 +0200 @@ -35,14 +35,14 @@ * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -XX:+UseG1GC -XX:G1PeriodicGCInterval=100 * -XX:+G1PeriodicGCInvokesConcurrent - * -Xlog:gc,gc+periodic=debug + * -Xlog:gc*,gc+periodic=debug * gc.g1.TestPeriodicCollectionJNI * @run main/othervm/native * -Xbootclasspath/a:. * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -XX:+UseG1GC -XX:G1PeriodicGCInterval=100 * -XX:-G1PeriodicGCInvokesConcurrent - * -Xlog:gc,gc+periodic=debug + * -Xlog:gc*,gc+periodic=debug * gc.g1.TestPeriodicCollectionJNI */ --- old/test/hotspot/jtreg/gc/g1/TestPeriodicLogMessages.java 2020-05-26 13:54:13.587552782 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestPeriodicLogMessages.java 2020-05-26 13:54:13.303551374 +0200 @@ -42,23 +42,24 @@ public static void main(String[] args) throws Exception { ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", "-XX:G1PeriodicGCInterval=0", - "-Xlog:gc,gc+periodic=debug", + "-Xlog:gc+init,gc+periodic=debug", "-Xmx10M", GCTest.class.getName()); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("Periodic GC disabled"); + output.shouldContain("Periodic GC: Disabled"); output.shouldNotContain("Checking for periodic GC"); output.shouldHaveExitValue(0); pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", "-XX:G1PeriodicGCInterval=100", - "-Xlog:gc,gc+periodic=debug", + "-Xlog:gc+init,gc+periodic=debug", "-Xmx10M", GCTest.class.getName()); output = new OutputAnalyzer(pb.start()); - output.shouldContain("Periodic GC enabled with interval 100ms"); + output.shouldContain("Periodic GC: Enabled"); + output.shouldContain("Periodic GC Interval: 100ms"); output.shouldContain("Checking for periodic GC"); output.shouldHaveExitValue(0); }