RFR: 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
Aleksey Shipilev
shade at openjdk.org
Fri Sep 8 09:48:39 UTC 2023
On Fri, 8 Sep 2023 09:34:36 GMT, Soumadipta Roy <duke at openjdk.org> wrote:
> 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
>
> serviceability/sa/TestJmapCoreMetaspace.java runs in hotspot:tier2, and takes about 330 seconds out of 670 seconds of the entire run on x86_64 fastdebug. The tier2 completion usually waits on it. Profiling shows we are spending time during classloading, checking dependencies. Since we load lots of classes, we do it many times, and each time the cost grows linearly to the number of classes. Some other tests that target metaspace explicitly disable `VerifyDependencies` to avoid this.
>
> The commit includes adding "-XX:-VerifyDependencies" along with "-XX:+IgnoreUnrecognizedVMOptions" in TestJmapCore.java to make sure that release builds work with the test, as VerifyDependencies is a develop option and not available in release builds. The changes in the commit are resulting in considerable improvement for the test in fastdebug mode as can be seen below:
>
> * before: **130.41s user 14.11s system 118% cpu 2:01.85 total**
> * after: **27.52s user 13.64s system 213% cpu 19.249 total**
test/hotspot/jtreg/serviceability/sa/TestJmapCore.java line 76:
> 74: ProcessBuilder pb = ProcessTools.createTestJvm("-XX:+CreateCoredumpOnCrash",
> 75: "-Xmx512m", "-XX:MaxMetaspaceSize=64m", "-XX:+CrashOnOutOfMemoryError",
> 76: "-XX:-VerifyDependencies", "-XX:+IgnoreUnrecognizedVMOptions",
Have you tried this test with `release`? I think `IgnoreUnrecognizedVMOptions` is positional, and should go before `VerifyDependencies` to actually work.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15631#discussion_r1319635437
More information about the serviceability-dev
mailing list