Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7170638

enable support for dtrace compatible sdt probes on GNU/Linux

XMLWordPrintable

    • b05
    • generic
    • linux

        This bug created on behalf of Mark Wielaard from RedHat:

        On 5/10/12 7:49 AM, Mark Wielaard wrote:
        > Hi,
        >
        > The following three patches enable support for dtrace compatible sdt probes
        > on GNU/Linux. Most of the support was already submitted earlier. These are
        > just the last three things left in IcedTea that actually enable it in
        > hotspot. It has been in production use for some time already.
        >
        > The patches could be applied all as one, or individually if you want to be
        > able to test them independently.
        >
        > The first patch is just a consistency cleanup patch. The JNI Set and
        > SetStatic Field methods used HS_DTRACE_PROBE_CDECL_N and HS_DTRACE_PROBE_N
        > directly instead of just using DTRACE_PROBE[N] like all other JNI methods.
        > This doesn't matter for the Solaris macros, but on GNU/Linux the macros
        > don't use direct function declarations (which is introduced in the second
        > patch).
        >
        > The second patch introduces the DTRACE macros for use with the GNU/Linux
        > SystemTap provided sys/sdt.h. Like Solaris this uses USDT1, but using
        > macros instead of function declaractions. So it just adds a check for
        > whether USDT1 is used with SOLARIS (HS_DTRACE_WORKAROUND_TAIL_CALL_BUG
        > is only needed there) and defines HS_DTRACE_PROBE[N] for the LINUX case.
        >
        > The last patch enables the support in the build. I took the approach
        > used in the make/solaris/dtrace.make and vm.make file with a test to
        > see whether sys/sdt.h is available or not and printing a notice when
        > they are not found. In IcedTea there is a more elaborate configure
        > check to see if a small C++ program can be build with DTRACE probes
        > in it, but that looked like overkill here.
        >
        > Patches in separate emails.
        >
        > Cheers,
        >
        > Mark
        >
        > The second patch adds the actual
        > src/share/vm/prims/jni.cpp | 11 ++------
        > src/share/vm/utilities/dtrace.hpp | 50 ++++++++++++++++++++++++++++++++++++++-
        > make/linux/makefiles/dtrace.make | 24 ++++++++++++++++++
        > make/linux/makefiles/vm.make | 2 +-
        > 4 files changed, 77 insertions(+), 10 deletions(-)

              coleenp Coleen Phillimore
              sspitsyn Serguei Spitsyn
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: