ClassNotFoundException for Custom Scheduler Prototype v2
Alan Bateman
alan.bateman at oracle.com
Fri Feb 27 06:57:07 UTC 2026
On 27/02/2026 06:04, Mengyang Li wrote:
>
> Hi Alan,
>
> Thanks for the quick reply. I’ll continue investigating the custom
> scheduler and sun.nio.ch.Poller related code.
>
> I also checked the Loom repo’s io_uring branch and noticed a
> difference when io_uring poller is enabled:
>
> *
>
> SocketChannelImplstill does park(Net.POLLIN)then IOUtil.read(...)
>
> *
>
> NioSocketImpl (for virtual threads) does:
>
> ``` java
> if (Poller.supportReadOps() && Thread.currentThread().isVirtual()) {
> n = Poller.read(fdVal(fd), b, off, len, remainingNanos, this::isOpen);
> if (n != IOStatus.UNAVAILABLE) return n;
> }
> ```
>
> Why isn’t SocketChannelImpl using a similar Poller.read(...) VT path?
> Is this intentional, or just not wired up yet in that branch?
>
This is a lot of work required on memory management before the
read/write ops can efficiently make use of this. This is why the comment
in the NioSocketImpl code says "experimental".
-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/loom-dev/attachments/20260227/b6807675/attachment.htm>
More information about the loom-dev
mailing list