RFR: 8286597: Implement PollerProvider on AIX [v9]

Tyler Steele tsteele at openjdk.org
Wed May 24 18:01:26 UTC 2023


On Wed, 24 May 2023 10:03:17 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>>> Option 2 seems to be the popular choice, and I'm amenable to changing that. It does seems a bit silly to allocate 2 * 512 * 8 bytes == 8 KiB for each Poller when I've only seen 4 * 8 bytes in use.
>> 
>> There are 2 Poller threads per VM. They run in a loop that does a blocking poll (pollset_poll in the discussion here) to pick up events in bulk. 8K doesn't seem too bad and you could reduce the 512 to a small batch size if you want.
>> 
>> Another point is that there is configuration knob to control the registration. In "direct" mode, virtual threads that need to block on I/O will will attempt to directly arm the file descriptor. This means that implRegister will be called concurrently by many threads, the implRegister implementation in the changes here will increment and decrement setsize without synchronization. You may not have seen this as the default uses "indirect" mode.
>
> I agree. 8K per Poller threads sounds still affordable.

Ok. I have changed the implementation to be similar to that of the other platforms--including the size of the buffer.

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

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


More information about the hotspot-dev mailing list