On Wed, 3 Feb 2021 12:44:53 GMT, Hamlin Li <[email protected]> wrote: > parallel -histo of jmap was added by JDK-8214535, it's better to support > parallel for jcmd GC.class_histogram too.
I think you'll need a CSR just as [JDK-8215624](https://bugs.openjdk.java.net/browse/JDK-8215624). Also, a test is needed. There are a couple of tests under `test/hotspot/jtreg/serviceability/dcmd/gc` that already test `GC.class_histogram`. You could probably clone or modify one of them to test the new `-parallel` option. src/hotspot/share/services/diagnosticCommand.cpp line 559: > 557: "BOOLEAN", false, "false"), > 558: _parallel_thread_num("-parallel", "parallel threads number for heap > iteration", > 559: "INT", false, "0") { Does "0" mean use a default number of parallel threads as it does for the jmap? It's unclear, but it seems that it doesn't, which I think leads to eventually hitting this assert in `update_active_workers(uint v)`: assert(v != 0, "Trying to set active workers to 0"); If that's not the case, please explain how 0 is handled. In any case, I think it should be made consistent with jmap and should also be documented in the above help output: parallel=<count> generate histogram using this many parallel threads, default 0 0 use system determined number of threads 1 use one thread, i.e., disable parallelism n use n threads, n must be positive ------------- PR: https://git.openjdk.java.net/jdk/pull/2379
