adding rsockets support into JDK
Lu, Yingqi
yingqi.lu at intel.com
Mon Sep 24 03:07:18 UTC 2018
Hi Alan/Brian,
Here is the version 10 of the patch http://cr.openjdk.java.net/~ylu/8195160.10.
This patch includes all the changes Brian added based on version 09. In addition, I added following things:
1. Fixed JNI function names from various C files. This is due to the package name changing from rdma.ch to jdk.internal.net.rdma
2. Found a small issue with supportedOptions() from both java.net.Socket and java.net.ServerSocket. When a RDMA socket created after a regular TCP socket or verse visa, the private variable "options" can possibly return the wrong set of supported socket options. I create another variable named rdmaOptions and use that to track socket options for all the RDMA sockets.
3. Removed some of the test cases from RDMA test set that are targeted only for old TCP socket issues. Currently, all the test cases passed on my CentOS 7 machine (with librdmacm and librdmacm-devel installed)
4. Created one more test for non-Linux platform to test if UOE is thrown on RDMA sockets and channels.
5. For test cases, I removed "include <rdma/rsocket.h>" from C file and -lrdmacm inside JTreg make file. Instead, I use dlopen and dlsym to load the library dynamically.
Next item to work on:
1. For JDK internal implementation, I am not very sure how to properly use dlopen/dlsym. If we do dlopen/dlsym every time we create a RDMA socket or socket channel, will that cause lots of overhead? Where is the best place to load the library? Please let me know if you have any suggestions.
Thanks,
Lucy
From: Brian Burkhalter [mailto:brian.burkhalter at oracle.com]
Sent: Wednesday, September 19, 2018 9:00 AM
To: Alan Bateman <Alan.Bateman at oracle.com>
Cc: Lu, Yingqi <yingqi.lu at intel.com>; nio-dev at openjdk.java.net; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Aundhe, Shirish <shirish.aundhe at intel.com>; Kaczmarek, Eric <eric.kaczmarek at intel.com>
Subject: Re: adding rsockets support into JDK
On Sep 19, 2018, at 8:54 AM, Alan Bateman <Alan.Bateman at oracle.com<mailto:Alan.Bateman at oracle.com>> wrote:
3. Reflection replaced with shadow classes.
Thanks for taking up the suggestion to have two XXXProvider implementations, I think it looks much cleaner now.
You're welcome. I had not been aware of that possibility: definitely better not to have reflection.
Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20180924/2c1e3637/attachment.html>
More information about the nio-dev
mailing list