[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"><staffan.larsen@oracle.com></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