RFR: 8360025: (se) Convert kqueue Selector Implementation to use FFM APIs [v2]
Darragh Clarke
dclarke at openjdk.org
Tue Aug 19 13:22:40 UTC 2025
On Tue, 19 Aug 2025 13:18:49 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 incrementally with one additional commit since the last revision:
>
> implementing feedback, adding missing errno checks, cleanup
I made a few changes mostly based on comments but I'll give a little patch notes:
- I'd missed some errno checks for kqueue
- Moved the FFMUtils class from shared to just be in `maxosx`, I also changed how this gets the valueLayouts for C values to match how newer versions of jextract generate this
- I changed how the util method that converts errno codes to their respective error strings
I ran this against the selector tests on all OSs and everything seems green after repeated tests
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25546#issuecomment-3200745633
More information about the nio-dev
mailing list