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
