On Mon, 2 Sep 2024 12:25:05 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 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).

Typo (`imp` → `impl`):

The `BaseVirtualThreadSchedulerImpl` hierarchy can be `sealed`:

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 56:

> 54:      * Base implementation of VirtualThreadSchedulerMXBean.
> 55:      */
> 56:     private abstract static class BaseVirtualThreadSchedulerImpl

Suggestion:

    private abstract static sealed class BaseVirtualThreadSchedulerImpl

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 59:

> 57:             implements VirtualThreadSchedulerMXBean {
> 58: 
> 59:         abstract void impSetParallelism(int size);

Suggestion:

        abstract void implSetParallelism(int size);

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 64:

> 62:         public final void setParallelism(int size) {
> 63:             Util.checkControlAccess();
> 64:             impSetParallelism(size);

Suggestion:

            implSetParallelism(size);

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 97:

> 95:      * implemented with continuations + scheduler.
> 96:      */
> 97:     private static class VirtualThreadSchedulerImpl extends 
> BaseVirtualThreadSchedulerImpl {

Suggestion:

    private static final class VirtualThreadSchedulerImpl extends 
BaseVirtualThreadSchedulerImpl {

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 119:

> 117: 
> 118:         @Override
> 119:         void impSetParallelism(int size) {

Suggestion:

        void implSetParallelism(int size) {

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 159:

> 157:      * by platform threads.
> 158:      */
> 159:     private static class BoundVirtualThreadSchedulerImpl extends 
> BaseVirtualThreadSchedulerImpl {

Suggestion:

    private static final class BoundVirtualThreadSchedulerImpl extends 
BaseVirtualThreadSchedulerImpl {

src/jdk.management/share/classes/com/sun/management/internal/VirtualThreadSchedulerImpls.java
 line 167:

> 165: 
> 166:         @Override
> 167:         void impSetParallelism(int size) {

Suggestion:

        void implSetParallelism(int size) {

-------------

PR Review: https://git.openjdk.org/jdk/pull/20816#pullrequestreview-2276238096
PR Review: https://git.openjdk.org/jdk/pull/20816#pullrequestreview-2276600238
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741551781
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741310375
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741310424
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741552166
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741310517
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741552822
PR Review Comment: https://git.openjdk.org/jdk/pull/20816#discussion_r1741310573

Reply via email to