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

Per Minborg pminborg at openjdk.org
Thu Aug 28 12:15:49 UTC 2025


On Thu, 28 Aug 2025 08:51:14 GMT, Darragh Clarke <dclarke at openjdk.org> wrote:

>> 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/45d1c898...cc5f558a

Some of the methods in FFMUtils are general and should be available on all platforms. I think we can fix this when we submit the next panamization PR.

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

Marked as reviewed by pminborg (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25546#pullrequestreview-3164598956


More information about the core-libs-dev mailing list