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

Per Minborg pminborg at openjdk.org
Wed Aug 27 08:46:47 UTC 2025


On Tue, 26 Aug 2025 16:04:56 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:
> 
>   moved repeating code into own method

src/java.base/macosx/classes/sun/nio/ch/KQueuePoller.java line 76:

> 74:         int i = 0;
> 75:         while (i < n) {
> 76:             MemorySegment eventMS = KQueue.getEvent(pollArray, i);

Nit: Can we call these variables `eventSegment`? My reptile part of the brain first read "event in milliseconds".

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25546#discussion_r2303289065


More information about the core-libs-dev mailing list