diff options
author | markj <markj@FreeBSD.org> | 2013-05-12 16:26:33 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2013-05-12 16:26:33 +0000 |
commit | 8f40d761c17b416a0ae225d630d4b7eeaf84ca6a (patch) | |
tree | e007a74cb5ae3110e231820664775e3290b8831c /sys/cddl/dev/dtrace | |
parent | 84205c5d0632cde5deac5ffc2ace27f6e36e4920 (diff) | |
parent | 73d9b47b2a7a8df111f99bb69b7879f98cd3b57c (diff) | |
download | FreeBSD-src-8f40d761c17b416a0ae225d630d4b7eeaf84ca6a.zip FreeBSD-src-8f40d761c17b416a0ae225d630d4b7eeaf84ca6a.tar.gz |
Bring back part of r249367 by adding DTrace's temporal option, which allows
users to guarantee that the output of DTrace scripts will be time-ordered.
This option is enabled by adding the line
#pragma D option temporal
to the beginning of a script, or by adding '-x temporal' to the arguments of
dtrace(1).
This change fixes a bug in the original port of the temporal option. This
bug was causing some assertions to fail, so they had been disabled; in this
revision the assertions are working properly and are enabled.
The DTrace version number has been bumped from 1.9.0 to 1.9.1 to reflect
the language change that's being introduced.
This change corresponds to part of illumos-gate commit e5803b76927480:
3021 option for time-ordered output from dtrace(1M)
Reviewed by: pfg
Obtained from: illumos
MFC after: 1 month
Diffstat (limited to 'sys/cddl/dev/dtrace')
-rw-r--r-- | sys/cddl/dev/dtrace/dtrace_ioctl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/cddl/dev/dtrace/dtrace_ioctl.c b/sys/cddl/dev/dtrace/dtrace_ioctl.c index 6a01e13..bb03ffd 100644 --- a/sys/cddl/dev/dtrace/dtrace_ioctl.c +++ b/sys/cddl/dev/dtrace/dtrace_ioctl.c @@ -274,6 +274,7 @@ dtrace_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, desc.dtbd_drops = buf->dtb_drops; desc.dtbd_errors = buf->dtb_errors; desc.dtbd_oldest = buf->dtb_xamot_offset; + desc.dtbd_timestamp = dtrace_gethrtime(); mutex_exit(&dtrace_lock); @@ -328,6 +329,7 @@ dtrace_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, desc.dtbd_drops = buf->dtb_xamot_drops; desc.dtbd_errors = buf->dtb_xamot_errors; desc.dtbd_oldest = 0; + desc.dtbd_timestamp = buf->dtb_switched; mutex_exit(&dtrace_lock); |