Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Oct 2015 04:29:39 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r289003 - vendor-sys/illumos/dist/uts/common/dtrace vendor-sys/illumos/dist/uts/common/sys vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt
Message-ID:  <201510080429.t984TdrM098260@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Thu Oct  8 04:29:39 2015
New Revision: 289003
URL: https://svnweb.freebsd.org/changeset/base/289003

Log:
  6271 dtrace caused excessive fork time
  
  Author: Bryan Cantrill <bryan@joyent.com>
  Reviewed by: Adam Leventhal <ahl@delphix.com>
  Reviewed by: Dan McDonald <danmcd@omniti.com>
  Reviewed by: Richard Lowe <richlowe@richlowe.net>
  Approved by: Gordon Ross <gwr@nexenta.com>
  
  illumos/illumos-gate@7bd3c1d12d0c764e1517c3aca62c634409356764

Added:
  vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.sameprovmulti.ksh
  vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.sameprovmulti.ksh.out

Changes in other areas also in this revision:
Modified:
  vendor-sys/illumos/dist/uts/common/dtrace/dtrace.c
  vendor-sys/illumos/dist/uts/common/dtrace/fasttrap.c
  vendor-sys/illumos/dist/uts/common/sys/dtrace.h

Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.sameprovmulti.ksh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.sameprovmulti.ksh	Thu Oct  8 04:29:39 2015	(r289003)
@@ -0,0 +1,99 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source.  A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright (c) 2015, Joyent, Inc. All rights reserved.
+#
+
+#
+# This test assures that we can have the same provider name across multiple
+# probe definitions, and that the result will be the union of those
+# definitions.  In particular, libusdt depends on this when (for example)
+# node modules that create a provider are loaded multiple times due to
+# being included by different modules.
+#
+
+if [ $# != 1 ]; then
+	echo expected one argument: '<'dtrace-path'>'
+	exit 2
+fi
+
+dtrace=$1
+DIR=/var/tmp/dtest.$$
+
+mkdir $DIR
+cd $DIR
+
+cat > test.c <<EOF
+#include <unistd.h>
+
+void
+main()
+{
+EOF
+
+objs=
+
+for oogle in bagnoogle stalloogle cockoogle; do
+	cat > $oogle.c <<EOF
+#include <sys/sdt.h>
+
+void
+$oogle()
+{
+	DTRACE_PROBE(doogle, $oogle);
+}
+EOF
+
+	cat > $oogle.d <<EOF
+provider doogle {
+	probe $oogle();
+};
+EOF
+
+	gcc -m32 -c $oogle.c
+
+	if [ $? -ne 0 ]; then
+		print -u2 "failed to compile $oogle.c"
+		exit 1
+	fi
+
+	$dtrace -G -32 -s $oogle.d $oogle.o -o $oogle.d.o
+
+	if [ $? -ne 0 ]; then
+		print -u2 "failed to process $oogle.d"
+		exit 1
+	fi
+
+	objs="$objs $oogle.o $oogle.d.o"
+	echo $oogle'();' >> test.c
+done
+
+echo "}" >> test.c
+
+gcc -m32 -o test test.c $objs
+
+if [ $? -ne 0 ]; then
+	print -u2 "failed to compile test.c"
+	exit 1
+fi
+
+$dtrace -n 'doogle$target:::{@[probename] = count()}' \
+    -n 'END{printa("%-10s %@d\n", @)}' -x quiet -x aggsortkey -Zc ./test
+
+if [ $? -ne 0 ]; then
+	print -u2 "failed to execute test"
+	exit 1
+fi
+
+cd /
+/usr/bin/rm -rf $DIR
+exit 0

Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.sameprovmulti.ksh.out
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.sameprovmulti.ksh.out	Thu Oct  8 04:29:39 2015	(r289003)
@@ -0,0 +1,4 @@
+bagnoogle  1
+cockoogle  1
+stalloogle 1
+



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