RFR: 8360025: (se) Convert kqueue Selector Implementation to use FFM APIs [v4]

Darragh Clarke dclarke at openjdk.org
Thu Aug 28 08:51:14 UTC 2025


> This PR aims to Panamize the Java Kqueue implementation, This is based on the work that was previously shared in https://github.com/openjdk/jdk/pull/22307 , The main change since then is that this branch takes advantage of the changes made in https://github.com/openjdk/jdk/pull/25043 to allow for better performance during errno handling.
> 
> These changes feature a lot of Jextract generated files, though alterations have been made in relation to Errno handling and performance improvements.
> 
> I will update this description soon to include performance metrics on a few microbenchmarks, though currently it's roughly 2% to 3% slower with the changes, which is somewhat expected, though there are still a few ideas of possible performance improvements that could be tried. Any suggestions or comments in that area are more than welcome however.

Darragh Clarke 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 12 additional commits since the last revision:

 - fixed copyright header
 - merged master into branch
 - moved repeating code into own method
 - implementing feedback, adding missing errno checks, cleanup
 - feedback
 - general cleanup
 - small refactoring
 - Performance
 - implementing feedback
 - removed unrelated change
 - ... and 2 more: https://git.openjdk.org/jdk/compare/7150100e...cc5f558a

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25546/files
  - new: https://git.openjdk.org/jdk/pull/25546/files/9de0789e..cc5f558a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25546&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25546&range=02-03

  Stats: 204841 lines in 4003 files changed: 121501 ins; 55113 del; 28227 mod
  Patch: https://git.openjdk.org/jdk/pull/25546.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25546/head:pull/25546

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


More information about the nio-dev mailing list