[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR(M): 8032462 Change the linux SDT implementation to use USDT2 instead of USDT1
From:       "serguei.spitsyn () oracle ! com" <serguei ! spitsyn () oracle ! com>
Date:       2014-01-29 9:04:41
Message-ID: 52E8C429.4080405 () oracle ! com
[Download RAW message or body]

Ok, thanks!
It is Ok that you did not clean this up.
The macro can still be used in the future.

Thanks,
Serguei

On 1/29/14 12:28 AM, Staffan Larsen wrote:
> 
> On 29 jan 2014, at 02:03, serguei.spitsyn@oracle.com 
> <mailto:serguei.spitsyn@oracle.com> wrote:
> 
> > Hi Staffan,
> > 
> > Sorry for being late, I thought it was already reviewed. :)
> > 
> > It looks good, just a minor question below.
> 
> Thanks!
> 
> > make/bsd/makefiles/dtrace.make
> > 
> > Can this line be removed as it is not used in this file anymore?
> > 55 DTRACE_SRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/dtrace
> 
> It is actually still used. Or actually not. It’s complicated and messy.
> 
> The bsd makefile has a lot of logic in it that was copied from the 
> solaris makefiles for building jvm_db. But, jvm_db isn't used on OS X 
> (there is no support for ustack helpers) so all that logic is never 
> called from vm.make when building on OS X:
> 
> ifeq ($(OS_VENDOR), Darwin)
> # no libjvm_db for macosx
> build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck
> echo "Doing vm.make build:"
> else
> build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
> endif
> 
> So you might think that it would be built on other BSDs. But it isn’t 
> because the whole jvm_db building stuff in dtrace.make is conditional 
> on only building on OS X:
> 
> ifeq ($(OS_VENDOR), Darwin)
> 
> In short: it’s a mess. I didn’t clean this up, but maybe a future 
> change will. Or maybe the hotspot makefile rewrite will.
> 
> Thanks,
> /Staffan
> 
> 
> > 
> > Thanks,
> > Serguei
> > 
> > 
> > On 1/28/14 12:52 AM, Staffan Larsen wrote:
> > > Still looking for reviewers for this change.
> > > 
> > > Thanks,
> > > /Staffan
> > > 
> > > On 23 jan 2014, at 08:36, Staffan Larsen<staffan.larsen@oracle.com>  wrote:
> > > 
> > > > The only usage today of the DTrace macros under the USDT1 define is the SDT \
> > > > provider on linux. This can be changed to use the USDT2 style by \
> > > > preprocessing the .d files into .h files with the dtrace utility in the same \
> > > > way as we do on solaris and OS X. 
> > > > I have also moved the provider definition files (hotspot.d, hotspot_jni.d and \
> > > > hs_private.d) to a common directory instead of having one identical copy per \
> > > > platform. 
> > > > I would really like to have a review from somebody on the IcedTea team since \
> > > > I haven’t been able to fully verify this change by running systemtap. 
> > > > Once this change is done, we can proceed to remove the USDT1 style macros.
> > > > 
> > > > webrev:http://cr.openjdk.java.net/~sla/8032462/webrev.00/
> > > > bug:https://bugs.openjdk.java.net/browse/JDK-8032462
> > > > 
> > > > testing: vm.dtrace.testlist in nsk
> > > > 
> > > > Thanks,
> > > > /Staffan
> > 
> 


[Attachment #3 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Ok, thanks!<br>
      It is Ok that you did not clean this up.<br>
      The macro can still be used in the future.<br>
      <br>
      Thanks,<br>
      Serguei<br>
      <br>
      On 1/29/14 12:28 AM, Staffan Larsen wrote:<br>
    </div>
    <blockquote
      cite="mid:2A6C3196-9415-4F3B-8E17-9FF2C865C8AE@oracle.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <br>
      <div>
        <div>On 29 jan 2014, at 02:03, <a moz-do-not-send="true"
            href="mailto:serguei.spitsyn@oracle.com">serguei.spitsyn@oracle.com</a>
          wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">
          <meta content="text/html; charset=windows-1252"
            http-equiv="Content-Type">
          <div text="#000000" bgcolor="#FFFFFF">
            <div class="moz-cite-prefix">Hi Staffan,<br>
              <br>
              Sorry for being late, I thought it was already reviewed.
              :)<br>
              <br>
              It looks good, just a minor question below.<br>
            </div>
          </div>
        </blockquote>
        <div><br>
        </div>
        <div>Thanks!</div>
        <div><br>
        </div>
        <blockquote type="cite">
          <div text="#000000" bgcolor="#FFFFFF">
            <div class="moz-cite-prefix"> make/bsd/makefiles/dtrace.make<br>
              <br>
              Can this line be removed as it is not used in this file
              anymore?<br>
                55 DTRACE_SRCDIR =
              $(GAMMADIR)/src/os/$(Platform_os_family)/dtrace
              <meta http-equiv="content-type" content="text/html;
                charset=windows-1252">
              <br>
            </div>
          </div>
        </blockquote>
        <div><br>
        </div>
        <div>It is actually still used. Or actually not. It’s
          complicated and messy. </div>
        <div><br>
        </div>
        <div>The bsd makefile has a lot of logic in it that was copied
          from the solaris makefiles for building jvm_db. But, jvm_db
          isn't used on OS X (there is no support for ustack helpers) so
          all that logic is never called from vm.make when building on
          OS X:</div>
        <div>
          <div><br>
          </div>
          <div>ifeq ($(OS_VENDOR), Darwin)</div>
          <div># no libjvm_db for macosx</div>
          <div>build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC)
            dtraceCheck</div>
          <div><span class="Apple-tab-span" style="white-space:pre"> </span>echo
            "Doing vm.make build:"</div>
          <div>else</div>
          <div>build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB)
            $(BUILDLIBSAPROC)</div>
          <div>endif</div>
          <div><br>
          </div>
          <div>So you might think that it would be built on other BSDs.
            But it isn’t because the whole jvm_db building stuff in
            dtrace.make is conditional on only building on OS X:</div>
          <div><br>
          </div>
          <div>ifeq ($(OS_VENDOR), Darwin)</div>
          <div><br>
          </div>
          <div>In short: it’s a mess. I didn’t clean this up, but maybe
            a future change will. Or maybe the hotspot makefile rewrite
            will.</div>
          <div><br>
          </div>
          <div>
            <div>Thanks,</div>
            <div>/Staffan</div>
          </div>
          <div><br>
          </div>
        </div>
        <br>
        <blockquote type="cite">
          <div text="#000000" bgcolor="#FFFFFF">
            <div class="moz-cite-prefix"> <br>
              Thanks,<br>
              Serguei<br>
              <br>
              <br>
              On 1/28/14 12:52 AM, Staffan Larsen wrote:<br>
            </div>
            <blockquote
              cite="mid:AB6471DE-64EA-4ABC-9334-F3250EF2860D@oracle.com"
              type="cite">
              <pre wrap="">Still looking for reviewers for this change.

Thanks,
/Staffan

On 23 jan 2014, at 08:36, Staffan Larsen <a moz-do-not-send="true" \
class="moz-txt-link-rfc2396E" \
href="mailto:staffan.larsen@oracle.com">&lt;staffan.larsen@oracle.com&gt;</a> wrote:

</pre>
              <blockquote type="cite">
                <pre wrap="">The only usage today of the DTrace macros under the \
USDT1 define is the SDT provider on linux. This can be changed to use the USDT2 style \
by preprocessing the .d files into .h files with the dtrace utility in the same way \
as we do on solaris and OS X.

I have also moved the provider definition files (hotspot.d, hotspot_jni.d and \
hs_private.d) to a common directory instead of having one identical copy per \
platform.

I would really like to have a review from somebody on the IcedTea team since I \
haven’t been able to fully verify this change by running systemtap.

Once this change is done, we can proceed to remove the USDT1 style macros.

webrev: <a moz-do-not-send="true" class="moz-txt-link-freetext" \
href="http://cr.openjdk.java.net/%7Esla/8032462/webrev.00/">http://cr.openjdk.java.net/~sla/8032462/webrev.00/</a>
                
bug: <a moz-do-not-send="true" class="moz-txt-link-freetext" \
href="https://bugs.openjdk.java.net/browse/JDK-8032462">https://bugs.openjdk.java.net/browse/JDK-8032462</a>


testing: vm.dtrace.testlist in nsk

Thanks,
/Staffan
</pre>
              </blockquote>
            </blockquote>
            <br>
          </div>
        </blockquote>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic