RFR: 8374170: I/O Poller updates [v2]

Alan Bateman alanb at openjdk.org
Thu Feb 5 15:23:31 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.
> 
> The changes have been in the loom repo for a long time, this is why the copyright header is updated to 2025 (not 2026) in some cases.
> 
> Testing: tier1 + tier2.

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 16 additional commits since the last revision:

 - Avoid needless dup2 when there are no platform threads blocked on fd
 - Merge branch 'master' into JDK-8374170
 - Merge branch 'master' into JDK-8374170
 - 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
 - ... and 6 more: https://git.openjdk.org/jdk/compare/b77eec91...76e7d498

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/29195/files
  - new: https://git.openjdk.org/jdk/pull/29195/files/0ec1a928..76e7d498

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29195&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29195&range=00-01

  Stats: 9641 lines in 195 files changed: 6235 ins; 2126 del; 1280 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