RFR: 8360025: (se) Convert kqueue Selector Implementation to use FFM APIs
ExE Boss
duke at openjdk.org
Sat Jul 26 07:51:01 UTC 2025
On Thu, 19 Jun 2025 08:08:10 GMT, Per Minborg <pminborg 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.
>
> src/java.base/macosx/classes/sun/nio/ch/KQueue.java line 63:
>
>> 61:
>> 62: // filters
>> 63: static final int EVFILT_READ = kqueue_h.EVFILT_READ();
>
> Could we remove these constants and use `kqueue_h` constants directly?
No, because those are `private`, accessible only through the `public static` getters.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25546#discussion_r2232777224
More information about the nio-dev
mailing list