8182743: Ineffective use of volatile hurts performance of Charset.atBugLevel()

Kazunori Ogata OGATAK at jp.ibm.com
Fri Jul 7 16:58:50 UTC 2017


Hi all,

Any comment on downporting a fix to JDK9u and JDK8u, which simply removes 
volatile?


Regards,
Ogata

Kazunori Ogata/Japan/IBM wrote on 2017/07/03 17:28:54:

> From: Kazunori Ogata/Japan/IBM
> To: "Langer, Christoph" <christoph.langer at sap.com>
> Cc: core-libs-dev <core-libs-dev at openjdk.java.net>, "nio-
> dev at openjdk.java.net" <nio-dev at openjdk.java.net>
> Date: 2017/07/03 17:28
> Subject: RE: 8182743: Ineffective use of volatile hurts performance of 
> Charset.atBugLevel()
> 
> Hi Christoph,
> 
> Thank you very much for your help!
> 
> For JDK9 updates and JDK8 updates, it is desirable if we can back port 
the
> removal of volatile.  What should I do for it?
> 
> Regards,
> Ogata
> 
> From: "Langer, Christoph" <christoph.langer at sap.com>
> To: Kazunori Ogata <OGATAK at jp.ibm.com>, "nio-dev at openjdk.java.net" <nio-
> dev at openjdk.java.net>
> Cc: core-libs-dev <core-libs-dev at openjdk.java.net>
> Date: 2017/07/03 17:17
> Subject: RE: 8182743: Ineffective use of volatile hurts performance of 
> Charset.atBugLevel()
> 
> Hi,
> 
> I've pushed to JDK10 now: 
http://hg.openjdk.java.net/jdk10/jdk10/jdk/rev/
> 7a2bc0a80087
> 
> What do you think, shall we try to downport a fix to JDK9 updates and 
JDK8
> updates, which simply removes the volatile as we can't bring this 
behavior
> changing fix down? 
> 
> Thanks
> Christoph
> 
> > -----Original Message-----
> > From: Kazunori Ogata [mailto:OGATAK at jp.ibm.com]
> > Sent: Freitag, 30. Juni 2017 20:31
> > To: Seán Coffey <sean.coffey at oracle.com>
> > Cc: Langer, Christoph <christoph.langer at sap.com>; core-libs-dev 
<core-libs-
> > dev at openjdk.java.net>; nio-dev at openjdk.java.net; ppc-aix-port-
> > dev at openjdk.java.net
> > Subject: Re: 8182743: Ineffective use of volatile hurts performance of
> > Charset.atBugLevel()
> > 
> > Hi Sean,
> > 
> > Thank you for your comments.
> > 
> > I fixed the copyright and updated webrev:
> > 
> > http://cr.openjdk.java.net/~horii/8182743/webrev.03/
> > 
> > 
> > > * The bug ID referenced in mail/webrev links is wrong. It should be
> > > 8182743 ?
> > 
> > Yes, they should be 8182743.  I fixed both.
> > 
> > 
> > Regards,
> > Ogata
> > 
> > 
> > Seán Coffey <sean.coffey at oracle.com> wrote on 2017/06/30 23:57:25:
> > 
> > > From: Seán Coffey <sean.coffey at oracle.com>
> > > To: Kazunori Ogata <OGATAK at jp.ibm.com>, "Langer, Christoph"
> > > <christoph.langer at sap.com>
> > > Cc: "ppc-aix-port-dev at openjdk.java.net" <ppc-aix-port-
> > > dev at openjdk.java.net>, core-libs-dev 
<core-libs-dev at openjdk.java.net>,
> > > "nio-dev at openjdk.java.net" <nio-dev at openjdk.java.net>
> > > Date: 2017/06/30 23:57
> > > Subject: Re: 8179527:(8182743?) Ineffective use of volatile hurts
> > > performance of Charset.atBugLevel()
> > >
> > > Ogata,
> > >
> > > minor comments from me.
> > >
> > > * The bug ID referenced in mail/webrev links is wrong. It should be
> > > 8182743 ?
> > > * The copyright change in Charset-X-Coder.java.template is the wrong
> > > format. You can simply replace 2013 with 2017.
> > >
> > > Regards,
> > > Sean.
> > >
> > > On 29/06/17 19:49, Kazunori Ogata wrote:
> > > > Hi Christoph,
> > > >
> > > > I updated webrev:
> > http://cr.openjdk.java.net/~horii/8179527/webrev.02/
> > > >
> > > > This one includes changes in tests.  I removed all @run and @build
> > > > directives in the tests because those after removing "@run
> > main/othervm
> > > > -Dsun.nio.cs.bugLevel=1.4 EmptyCharsetName" are the same as the
> > default
> > > > ones.  I checked the modified tests passed.
> > > >
> > > > I also fixed the copyright lines.
> > > >
> > > >
> > > > Regards,
> > > > Ogata
> > > >
> > > >
> > > > "Langer, Christoph" <christoph.langer at sap.com> wrote on 2017/06/28
> > > > 21:04:36:
> > > >
> > > >> From: "Langer, Christoph" <christoph.langer at sap.com>
> > > >> To: Kazunori Ogata <OGATAK at jp.ibm.com>
> > > >> Cc: Alan Bateman <Alan.Bateman at oracle.com>, Claes Redestad
> > > >> <claes.redestad at oracle.com>, core-libs-dev <core-libs-
> > > >> dev at openjdk.java.net>, "nio-dev at openjdk.java.net" <nio-
> > > >> dev at openjdk.java.net>, "ppc-aix-port-dev at openjdk.java.net"
> > > > <ppc-aix-port-
> > > >> dev at openjdk.java.net>
> > > >> Date: 2017/06/28 21:04
> > > >> Subject: RE: 8179527: Ineffective use of volatile hurts 
performance
> > of
> > > >> Charset.atBugLevel()
> > > >>
> > > >> Hi Ogata,
> > > >>
> > > >>>> remove the second run with -Dsun.nio.cs.bugLevel=1.4
> > > >>> How can I do this?  Is it sufficient to remove the following 
line at
> > > > the
> > > >>> beginning of the file?: "@run main/othervm 
-Dsun.nio.cs.bugLevel=1.4
> > > >>> EmptyCharsetName"
> > > >> Yes, this line should be removed. Currently there are two @run
> > > > directives
> > > >> which cause running the testcase twice. Once in normal mode and 
once
> > > > with
> > > >> bugLevel set to 1.4. So, if "sun.nio.cs.bugLevel" ought to be 
removed
> > > > then
> > > >> the second iteration of the test is obsolete. And then one should
> > > > probably
> > > >> remove the whole "compat" handling in the test.
> > > >>
> > > >> Best regards
> > > >> Christoph
> > > >>
> > > >
> > >
> > 
> 




More information about the core-libs-dev mailing list