RFR(M): 8032462 Change the linux SDT implementation to use USDT2 instead of USDT1

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Wed Jan 29 01:04:41 PST 2014


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 at oracle.com 
> <mailto:serguei.spitsyn at 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 at 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
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20140129/d2578e29/attachment.html 


More information about the serviceability-dev mailing list