JDK10 RFR: 8165437 Evaluate the use of gettimeofday in Networking code
Vyom Tewari
vyom.tewari at oracle.com
Thu Apr 27 04:15:49 UTC 2017
Hi,
please find the updated
webrev(http://cr.openjdk.java.net/~vtewari/8165437/webrev0.7/index.html).
Thanks,
Vyom
On Tuesday 25 April 2017 07:34 PM, Thomas Stüfe wrote:
> Hi Chris, Vyom,
>
> I have preferences as expressed earlier, but no strong emotions. I can
> live with the fix as it is now.
>
> Thanks all, and Kind Regards, Thomas
>
>
> On Tue, Apr 25, 2017 at 3:31 PM, Chris Hegarty
> <chris.hegarty at oracle.com <mailto:chris.hegarty at oracle.com>> wrote:
>
> > On Tue, Apr 18, 2017 at 7:08 AM, Vyom Tewari <vyom.tewari at oracle.com
> <mailto:vyom.tewari at oracle.com>> wrote:
> > ...
> >
> > Thanks for review, please find the updated
> webrev(http://cr.openjdk.java.net/~vtewari/8165437/webrev0.6/index.html
> <http://cr.openjdk.java.net/%7Evtewari/8165437/webrev0.6/index.html>)
>
> The changes mainly look good to me, just a few comments:
>
> 1) src/java.base/unix/native/libnet/PlainSocketImpl.c
>
> L235 jlong nanoTimeout = timeout * NET_NSEC_PER_MSEC;
>
> Can you please move this to the latest block of code that
> requires it, i.e..
> just after L327 if (connect_rv != 0) { …
>
> 2) src/java.base/share/native/libnet/net_util.h
>
> Should these definitions be moved to
> src/java.base/unix/native/libnet/net_util_md.h?
>
>
> Regarding JVM_NanoTime being a JVM_LEAF and/or taking a JNIEnv (
> both of which are, in todays hotspot VM, effectively ignored ),
> this is a
> separate issue. I have raised it off list with others from the VM
> team,
> without much interest. I will refrain from filing a JIRA issue to
> track potential
> changes in the VM for this. Others are welcome to do so, if they
> wish. I
> suggest that we simply continue to pass a valid JNIEnv, since it
> is not
> much extra effort to do so. ( this can be refactored later, if the
> VM interface
> is ever updated ).
>
>
> > On 24 Apr 2017, at 12:07, Thomas Stüfe <thomas.stuefe at gmail.com
> <mailto:thomas.stuefe at gmail.com>> wrote:
> >
> > ...
> > That aside, I am not a big fan of the removal of the old NET_Timeout. Before, there were two
> functions, "NET_Timeout" just taking the timeout value,
> "NET_Timeout0" taking a timeout and a start value. You removed the
> first variant and therefore added the many additional
> JVM_NanoTime() calls at NET_Timeout callsites. This makes the code
> harder to read and also kind of exposes the internal
> implementation of NET_Timeout (namely the fact that NET_Timeout
> uses JVM_NanoTime for time measurement). Could you please let both
> variants live, optionally with better names?
>
> I think that it may not be worth added back the simpler variant. It
> would only be used by PlainDatagramSocketImpl, correct? All other
> usages would use the variant that accepts the current nano time.
>
> -Chris.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20170427/76d3325b/attachment.html>
More information about the net-dev
mailing list