On Thu, 5 Sep 2024 17:54:46 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> This PR proposes to add a JDK-specific monitoring and management interface >> for the virtual thread scheduler. The interface is named >> [VirtualThreadSchedulerMXBean](https://download.java.net/java/early_access/loom/docs/api/jdk.management/jdk/management/VirtualThreadSchedulerMXBean.html) >> and allows JMX based tooling monitor/manage the scheduler's target >> parallelism and monitor thread counts. >> >> The JDK 5/6 era JDK-specific management interfaces are in >> jdk.management/com.sun.management. The proposal here is to start afresh in >> the jdk.management package, thus establishing a "new home" for JDK-specific >> management interfaces going forward. >> >> jdk.test.lib.thread.VThreadRunner is test infrastructure used by several >> tests to set or ensure some level of parallelism. This is changed from using >> deep reflection to using the MXBean to access the target parallelism, which >> requires changes to the `@modules` tag tests in a number of tests (some >> tests no longer need to open java.base/java.lang). >> >> (The changes proposed here have been in the loom repo for some time. A >> related command for the jcmd tool is also in that repo and will be proposed >> separately). > > Alan Bateman has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains six additional > commits since the last revision: > > - Sync up from loom repo > - Merge > - Sync up from loom repo > - Merge > - Sync up from loom repo > - Initial commit src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java line 114: > 112: case ForkJoinPool pool -> pool.getParallelism(); > 113: case ThreadPoolExecutor pool -> > pool.getMaximumPoolSize(); > 114: default -> -1; The API docs don't seem to specify what a value of `-1` means; is it meant to indicate "not known"? It seems like other implementations are returning e.g. `MAX_VALUE` sometimes too; is that worth calling out in the doc for `getParallelism()`? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1745955917