adding rsockets support into JDK
Chris Hegarty
chris.hegarty at oracle.com
Fri Dec 14 17:47:05 UTC 2018
Lucy,
> On 13 Dec 2018, at 17:59, Lu, Yingqi <yingqi.lu at intel.com> wrote:
>
> Hi Chris/Alan,
>
> Here is the version 25 of the patch: http://cr.openjdk.java.net/~ylu/8195160.25/
Some further comments.
1) test/jdk/jdk/net/RdmaSockets/rsocket/Selector/Connect.java
This test unnecessarily creates a thread for each connection.
http://cr.openjdk.java.net/~chegar/rsocket/webrev.25.1/
2) Additional test coverage for basic switching of blocking state.
http://cr.openjdk.java.net/~chegar/rsocket/webrev.25.2/
3) I think your work-around for Issue #1 is probably ok. I refined it a
little so avoid accessing the flags unless necessary. I think this may
be slightly more efficient, since the typical non-blocking usage will
be preceded by a select/rpoll.
src/jdk.net/linux/native/libextnet/LinuxRdmaSocketDispatcherImpl.c
http://cr.openjdk.java.net/~chegar/rsocket/webrev.25.3/
4) LinuxRdmaSocketDispatcherImpl.java
While reading the code I noticed an odd/stray unused `close` method. I
think it should be removed to avoid confusion ( it confused me ).
http://cr.openjdk.java.net/~chegar/rsocket/webrev.25.4/
5) test/jdk/jdk/net/RdmaSockets/rsocket/SocketChannel/IOExchanges.java
I updated this test to ensure that all selectors are now closed ( they
were not all closed consistently in the previous version ).
http://cr.openjdk.java.net/~chegar/rsocket/webrev.25.5/
What is nice about this test is that the *_BConn_* method verify the
changes in 3 above ( for Issue #1 ). I still wanna add scatter/gather
variants ( its on my TODO list ).
For now, until Issue #2 is resolved, then just comment out the `@Test`
from the twelve *_NBConn_* methods ( they currently fail, since they
verify the yet-to-be-fixed Issue #2 ). It is on my list to look into
fix this issue too.
6) test/jdk/jdk/net/RdmaSockets/rsocket/SocketChannel/CloseDuringWrite.java
Just some cleanup in this test.
http://cr.openjdk.java.net/~chegar/rsocket/webrev.25.6/
The reason I'm doing some of this cleanup is that I see infrequent
failures in a few of these tests ( about 1 failure in ever 30 or so
runs ).
That's my patch queue empty, for now. I hope that applying these patches
is not too onerous. They are mostly review comments, and I hope to be
getting to the end of this soon.
-Chris.
More information about the nio-dev
mailing list