Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Nov 2016 02:10:38 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 213962] dtrace tick provider is not implemented correctly
Message-ID:  <bug-213962-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213962

            Bug ID: 213962
           Summary: dtrace tick provider is not implemented correctly
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: gnn@FreeBSD.org

>From the DTrace manual

The arguments to profile probes are as follows:

arg0

The program counter (PC) in the kernel at the time that the probe fired, or=
 0
if the current process was not executing in the kernel at the time that the
probe fired

arg1

The PC in the user-level process at the time that the probe fired, or 0 if =
the
current process was executing at the kernel at the time that the probe fired

As the descriptions imply, if arg0 is non-zero then arg1 is zero; if arg0 is
zero then arg1 is non-zero. Thus, you can use arg0 and arg1 to differentiate
user-level from kernel level, as in this simple example:

profile-1ms
{
        @ticks[arg0 ? "kernel" : "user"] =3D count();
}

This also fails the t_dtrace_contrib:tst_argtest_d test

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213962-8>