RFR: 8286597: Implement PollerProvider on AIX [v11]

Vyom Tewari vtewari at openjdk.org
Wed May 24 12:44:06 UTC 2023


On Wed, 24 May 2023 06:23:50 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Tyler Steele has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - Complete change
>>  - Fixup & Reword
>>  - Remove allocate-per-poll
>
> src/java.base/aix/classes/sun/nio/ch/PollsetPoller.java line 42:
> 
>> 40:     private final int setid;
>> 41:     private final long pollBuffer;
>> 42:     private static final int POLL_BUFFER_SIZE = 16;
> 
> 16 seems very low. On the other platforms the equivalent is sized to read up to 256 or 512 events in one syscall but maybe there is a reason to choose this small number? You might need to run Helidon Nima or some other server using virtual threads to see the impact on this.
> 
> The name used on other platforms for the constant is "MAX_EVENTS_TO_POLL" to better reflect the usage.

I agree with Alan, when I was in IBM, I re-implemented the same for IBM Z/OS and my initial buffer size was very low. The product team complains that first 512 clients connections  were slow. I increased buffer size to 512( MAX_POLL_EVENTS = 512;) and problem got resolved. Although  Z/OS implementation was based on “select and poll” API which is different than your AIX implementation and my be, buffer size is not applicable to AIX.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13452#discussion_r1204057577


More information about the nio-dev mailing list