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>