RFR: 8374170: I/O Poller updates

Alan Bateman alanb at openjdk.org
Tue Feb 3 15:27:30 UTC 2026


The I/O Poller used to support virtual threads doing blocking networking I/O has been significantly refactored in the loom repo. There are several improvements that should be brought to main line:

1. New poller mode that uses a read poller per carrier, this is beneficial in some workloads.
2. Better cleanup/recovery in the event if a file descriptor or memory can't be allocated during initializatio.
3. NativeThread changed to cache native thread ID and avoid JNI call to current0 for each blocking I/O op.

Testing: tier1 + tier2.

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

Commit messages:
 - pollset -> setid
 - Pull update PollsetPoller update from loom repo
 - Merge branch 'master' into JDK-8374170
 - Merge branch 'master' into JDK-8374170
 - Merge branch 'master' into JDK-8374170
 - Merge branch 'master' into JDK-8374170
 - Merge branch 'master' into JDK-8374170
 - Merge branch 'master' into JDK-8374170
 - Cleanup IOUtil.configureBlocking
 - Merge branch 'master' into poller
 - ... and 3 more: https://git.openjdk.org/jdk/compare/9c83dff8...0ec1a928

Changes: https://git.openjdk.org/jdk/pull/29195/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29195&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8374170
  Stats: 1144 lines in 33 files changed: 670 ins; 140 del; 334 mod
  Patch: https://git.openjdk.org/jdk/pull/29195.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29195/head:pull/29195

PR: https://git.openjdk.org/jdk/pull/29195


More information about the net-dev mailing list