From nobody@FreeBSD.org  Tue Feb 25 09:15:15 2014
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTPS id 9BB96A58
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 25 Feb 2014 09:15:15 +0000 (UTC)
Received: from newred.freebsd.org (cgiserv.freebsd.org [IPv6:2001:1900:2254:206a::50:4])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.freebsd.org (Postfix) with ESMTPS id 7F8E910F6
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 25 Feb 2014 09:15:15 +0000 (UTC)
Received: from cgiserv.freebsd.org ([127.0.1.6])
	by newred.freebsd.org (8.14.7/8.14.7) with ESMTP id s1P9FEFp091734
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 25 Feb 2014 09:15:14 GMT
	(envelope-from nobody@cgiserv.freebsd.org)
Received: (from nobody@localhost)
	by cgiserv.freebsd.org (8.14.7/8.14.7/Submit) id s1P9FE5e091707;
	Tue, 25 Feb 2014 09:15:14 GMT
	(envelope-from nobody)
Message-Id: <201402250915.s1P9FE5e091707@cgiserv.freebsd.org>
Date: Tue, 25 Feb 2014 09:15:14 GMT
From: Fedor Indutny <fedor@indutny.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Make DTrace DOF limits configurable
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         187027
>Category:       kern
>Synopsis:       [dtrace] [patch] Make DTrace DOF limits configurable
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    markj
>State:          patched
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 25 09:20:00 UTC 2014
>Closed-Date:    
>Last-Modified:  Thu May 15 01:00:01 UTC 2014
>Originator:     Fedor Indutny
>Release:        11.0-CURRENT
>Organization:
Voxer Inc.
>Environment:
FreeBSD freebsd-64 11.0-CURRENT FreeBSD 11.0-CURRENT #22 b38a080(master)-dirty: Mon Feb 17 01:04:21 MSK 2014 root@freebsd-64:/usr/obj/usr/home/indutny/freebsd/sys/GENERIC amd64
>Description:
DTrace has pretty narrow limits for DOF size and actions count, make both configurable via sysctl. Note that both of this sysctl are required in order to use dtrace ustack helper and dtrace provider for node.js on FreeBSD. You could read more about it there: https://blog.indutny.com/7.freebsd-dtrace
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

commit adf471edf8710d37832a6e54115b1d9b560505af
Author: Fedor Indutny <fedor.indutny@gmail.com>
Date:   Mon Feb 17 01:36:48 2014 +0400

    dtrace: allow raising DOF and actions limits

diff --git a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
index f35cf73..162c43f 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
@@ -155,11 +155,11 @@
 int		dtrace_destructive_disallow = 0;
 dtrace_optval_t	dtrace_nonroot_maxsize = (16 * 1024 * 1024);
 size_t		dtrace_difo_maxsize = (256 * 1024);
-dtrace_optval_t	dtrace_dof_maxsize = (256 * 1024);
+int	dtrace_dof_maxsize = (256 * 1024);
 size_t		dtrace_global_maxsize = (16 * 1024);
 size_t		dtrace_actions_max = (16 * 1024);
 size_t		dtrace_retain_max = 1024;
-dtrace_optval_t	dtrace_helper_actions_max = 128;
+int	dtrace_helper_actions_max = 128;
 dtrace_optval_t	dtrace_helper_providers_max = 32;
 dtrace_optval_t	dtrace_dstate_defsize = (1 * 1024 * 1024);
 size_t		dtrace_strsize_default = 256;
@@ -11986,7 +11986,7 @@ dtrace_dof_copyin(uintptr_t uarg, int *errp)
 	 * Now we'll allocate the entire DOF and copy it in -- provided
 	 * that the length isn't outrageous.
 	 */
-	if (hdr.dofh_loadsz >= dtrace_dof_maxsize) {
+	if (hdr.dofh_loadsz >= (dtrace_optval_t) dtrace_dof_maxsize) {
 		dtrace_dof_error(&hdr, "load size exceeds maximum");
 		*errp = E2BIG;
 		return (NULL);
@@ -12077,7 +12077,7 @@ dtrace_dof_property(const char *name)
 		return (NULL);
 	}
 
-	if (loadsz >= dtrace_dof_maxsize) {
+	if (loadsz >= (dtrace_optval_t) dtrace_dof_maxsize) {
 		ddi_prop_free(buf);
 		dtrace_dof_error(NULL, "oversized DOF");
 		return (NULL);
@@ -12121,7 +12121,7 @@ dtrace_dof_property(const char *name)
 		return (NULL);
 	}
 
-	if (loadsz >= dtrace_dof_maxsize) {
+	if (loadsz >= (dtrace_optval_t) dtrace_dof_maxsize) {
 		kmem_free(buf, 0);
 		dtrace_dof_error(NULL, "oversized DOF");
 		return (NULL);
diff --git a/sys/cddl/dev/dtrace/dtrace_sysctl.c b/sys/cddl/dev/dtrace/dtrace_sysctl.c
index 1b5b3ab..b99a020 100644
--- a/sys/cddl/dev/dtrace/dtrace_sysctl.c
+++ b/sys/cddl/dev/dtrace/dtrace_sysctl.c
@@ -22,6 +22,9 @@
  *
  */
 
+SYSCTL_DECL(_kern_dtrace);
+SYSCTL_NODE(_kern, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace subsystem");
+
 int	dtrace_debug = 0;
 TUNABLE_INT("debug.dtrace.debug", &dtrace_debug);
 SYSCTL_INT(_debug_dtrace, OID_AUTO, debug, CTLFLAG_RW, &dtrace_debug, 0, "");
@@ -82,3 +85,8 @@ SYSCTL_PROC(_debug_dtrace, OID_AUTO, providers, CTLTYPE_STRING | CTLFLAG_RD,
 
 SYSCTL_INT(_debug_dtrace, OID_AUTO, memstr_max, CTLFLAG_RW, &dtrace_memstr_max,
     0, "largest allowed argument to memstr(), 0 indicates no limit");
+
+SYSCTL_INT(_kern_dtrace, OID_AUTO, dof_maxsize, CTLFLAG_RW | CTLFLAG_TUN,
+    &dtrace_dof_maxsize, 256 * 1024, "largest allowed DOF");
+SYSCTL_INT(_kern_dtrace, OID_AUTO, helper_actions_max, CTLFLAG_RW | CTLFLAG_TUN,
+    &dtrace_helper_actions_max, 128, "maximum number of allowed actions");


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->markj 
Responsible-Changed-By: markj 
Responsible-Changed-When: Wed Feb 26 03:31:05 UTC 2014 
Responsible-Changed-Why:  
Assign to me. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=187027 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/187027: commit references a PR
Date: Fri, 28 Feb 2014 02:04:49 +0000 (UTC)

 Author: markj
 Date: Fri Feb 28 02:04:41 2014
 New Revision: 262596
 URL: http://svnweb.freebsd.org/changeset/base/262596
 
 Log:
   4478 dtrace_dof_maxsize is far too small
   
   illumos/illumos-gate@d339a29bb4765c4b6883a935cf69b669cd05bca0
   
   PR:		187027
   MFC after:	1 week
 
 Added:
   head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.dofmax.ksh
      - copied unchanged from r262595, vendor/illumos/dist/cmd/dtrace/test/tst/common/misc/tst.dofmax.ksh
 Modified:
   head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
 
 Copied: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.dofmax.ksh (from r262595, vendor/illumos/dist/cmd/dtrace/test/tst/common/misc/tst.dofmax.ksh)
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.dofmax.ksh	Fri Feb 28 02:04:41 2014	(r262596, copy of r262595, vendor/illumos/dist/cmd/dtrace/test/tst/common/misc/tst.dofmax.ksh)
 @@ -0,0 +1,97 @@
 +#
 +# CDDL HEADER START
 +#
 +# The contents of this file are subject to the terms of the
 +# Common Development and Distribution License (the "License").
 +# You may not use this file except in compliance with the License.
 +#
 +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 +# or http://www.opensolaris.org/os/licensing.
 +# See the License for the specific language governing permissions
 +# and limitations under the License.
 +#
 +# When distributing Covered Code, include this CDDL HEADER in each
 +# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 +# If applicable, add the following below this CDDL HEADER, with the
 +# fields enclosed by brackets "[]" replaced with your own identifying
 +# information: Portions Copyright [yyyy] [name of copyright owner]
 +#
 +# CDDL HEADER END
 +#
 +
 +#
 +# Copyright (c) 2012, Joyent, Inc. All rights reserved.
 +#
 +
 +let j=8
 +
 +enable()
 +{
 +	prog=/var/tmp/dtest.$$.d
 +	err=/var/tmp/dtest.$$.err
 +
 +	nawk -v nprobes=$1 'BEGIN { \
 +		for (i = 0; i < nprobes - 1; i++) { 		\
 +			printf("dtrace:::BEGIN,\n");		\
 +		}						\
 +								\
 +		printf("dtrace:::BEGIN { exit(0); }\n");	\
 +	}' /dev/null > $prog
 +
 +	dtrace -qs $prog > /dev/null 2> $err
 +
 +	if [[ "$?" -eq 0 ]]; then
 +		return 0
 +	else
 +		if ! grep "DIF program exceeds maximum program size" $err \
 +		    1> /dev/null 2>&1 ; then 
 +			echo "failed to enable $prog: `cat $err`"
 +			exit 1
 +		fi
 +
 +		return 1
 +	fi
 +}
 +
 +#
 +# First, establish an upper bound
 +#
 +let upper=1
 +
 +while enable $upper ; do
 +	let lower=upper
 +	let upper=upper+upper
 +	echo success at $lower, raised to $upper
 +done
 +
 +#
 +# Now search for the highest value that can be enabled
 +#
 +while [[ "$lower" -lt "$upper" ]]; do
 +	let guess=$(((lower + upper) / 2))
 +	echo "lower is $lower; upper is $upper; guess is $guess\c"
 +
 +	if enable $guess ; then
 +		if [[ $((upper - lower)) -le 2 ]]; then
 +			let upper=guess
 +		fi
 +
 +		echo " (success)"
 +		let lower=guess
 +	else
 +		echo " (failure)"
 +		let upper=guess
 +	fi
 +done
 +
 +let expected=10000
 +
 +if [[ "$lower" -lt "$expected" ]]; then
 +	echo "expected support for enablings of at least $expected probes; \c"
 +	echo "found $lower"
 +	exit 1
 +fi
 +
 +echo "maximum supported enabled probes found to be $lower"
 +exit 0
 +
 
 Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
 ==============================================================================
 --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Fri Feb 28 01:53:37 2014	(r262595)
 +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Fri Feb 28 02:04:41 2014	(r262596)
 @@ -155,7 +155,7 @@
  int		dtrace_destructive_disallow = 0;
  dtrace_optval_t	dtrace_nonroot_maxsize = (16 * 1024 * 1024);
  size_t		dtrace_difo_maxsize = (256 * 1024);
 -dtrace_optval_t	dtrace_dof_maxsize = (256 * 1024);
 +dtrace_optval_t	dtrace_dof_maxsize = (8 * 1024 * 1024);
  size_t		dtrace_global_maxsize = (16 * 1024);
  size_t		dtrace_actions_max = (16 * 1024);
  size_t		dtrace_retain_max = 1024;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: markj 
State-Changed-When: Sat Mar 1 19:12:35 UTC 2014 
State-Changed-Why:  
The default DOF limit was bumped in r262596 and sysctls were added in 
r262665. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=187027 

From: Fedor Indutny <fedor@indutny.com>
To: bug-followup@freebsd.org, fedor@indutny.com
Cc:  
Subject: Re: kern/187027: [dtrace] [patch] Make DTrace DOF limits configurable
Date: Sat, 1 Mar 2014 23:24:10 +0400

 Thank you!

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/187027: commit references a PR
Date: Sat,  1 Mar 2014 20:46:13 +0000 (UTC)

 Author: markj
 Date: Sat Mar  1 19:06:43 2014
 New Revision: 262665
 URL: http://svnweb.freebsd.org/changeset/base/262665
 
 Log:
   Expose a few DTrace parameters as sysctls under kern.dtrace and add
   descriptions for several existing sysctls.
   
   PR:		187027
   Submitted by:	Fedor Indutny <fedor@indutny.com> (original version)
   MFC after:	2 weeks
 
 Modified:
   head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
   head/sys/cddl/dev/dtrace/dtrace_ioctl.c
   head/sys/cddl/dev/dtrace/dtrace_sysctl.c
 
 Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
 ==============================================================================
 --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Sat Mar  1 19:02:00 2014	(r262664)
 +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Sat Mar  1 19:06:43 2014	(r262665)
 @@ -303,7 +303,8 @@ static kmutex_t		dtrace_meta_lock;	/* me
  #define PRIV_PROC_ZONE		(1 << 5)
  #define PRIV_ALL		~0
  
 -SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace Information");
 +SYSCTL_DECL(_debug_dtrace);
 +SYSCTL_DECL(_kern_dtrace);
  #endif
  
  #if defined(sun)
 
 Modified: head/sys/cddl/dev/dtrace/dtrace_ioctl.c
 ==============================================================================
 --- head/sys/cddl/dev/dtrace/dtrace_ioctl.c	Sat Mar  1 19:02:00 2014	(r262664)
 +++ head/sys/cddl/dev/dtrace/dtrace_ioctl.c	Sat Mar  1 19:06:43 2014	(r262665)
 @@ -23,7 +23,8 @@
   */
  
  static int dtrace_verbose_ioctl;
 -SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW, &dtrace_verbose_ioctl, 0, "");
 +SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW,
 +    &dtrace_verbose_ioctl, 0, "log DTrace ioctls");
  
  #define DTRACE_IOCTL_PRINTF(fmt, ...)	if (dtrace_verbose_ioctl) printf(fmt, ## __VA_ARGS__ )
  
 
 Modified: head/sys/cddl/dev/dtrace/dtrace_sysctl.c
 ==============================================================================
 --- head/sys/cddl/dev/dtrace/dtrace_sysctl.c	Sat Mar  1 19:02:00 2014	(r262664)
 +++ head/sys/cddl/dev/dtrace/dtrace_sysctl.c	Sat Mar  1 19:06:43 2014	(r262665)
 @@ -22,6 +22,8 @@
   *
   */
  
 +SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace debug parameters");
 +
  int	dtrace_debug = 0;
  TUNABLE_INT("debug.dtrace.debug", &dtrace_debug);
  SYSCTL_INT(_debug_dtrace, OID_AUTO, debug, CTLFLAG_RW, &dtrace_debug, 0, "");
 @@ -78,7 +80,15 @@ sysctl_dtrace_providers(SYSCTL_HANDLER_A
  }
  
  SYSCTL_PROC(_debug_dtrace, OID_AUTO, providers, CTLTYPE_STRING | CTLFLAG_RD,
 -    0, 0, sysctl_dtrace_providers, "A", "");
 +    0, 0, sysctl_dtrace_providers, "A", "available DTrace providers");
 +
 +SYSCTL_NODE(_kern, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace parameters");
  
 -SYSCTL_INT(_debug_dtrace, OID_AUTO, memstr_max, CTLFLAG_RW, &dtrace_memstr_max,
 +SYSCTL_INT(_kern_dtrace, OID_AUTO, memstr_max, CTLFLAG_RW, &dtrace_memstr_max,
      0, "largest allowed argument to memstr(), 0 indicates no limit");
 +
 +SYSCTL_LONG(_kern_dtrace, OID_AUTO, dof_maxsize, CTLFLAG_RW,
 +    &dtrace_dof_maxsize, 0, "largest allowed DOF table");
 +
 +SYSCTL_LONG(_kern_dtrace, OID_AUTO, helper_actions_max, CTLFLAG_RW,
 +    &dtrace_helper_actions_max, 0, "maximum number of allowed helper actions");
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/187027: commit references a PR
Date: Thu, 15 May 2014 00:52:22 +0000 (UTC)

 Author: markj
 Date: Thu May 15 00:52:17 2014
 New Revision: 266102
 URL: http://svnweb.freebsd.org/changeset/base/266102
 
 Log:
   MFC r262665:
   Expose a few DTrace parameters as sysctls under kern.dtrace and add
   descriptions for several existing sysctls.
   
   PR:	187027
 
 Modified:
   stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
   stable/10/sys/cddl/dev/dtrace/dtrace_ioctl.c
   stable/10/sys/cddl/dev/dtrace/dtrace_sysctl.c
 Directory Properties:
   stable/10/   (props changed)
 
 Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
 ==============================================================================
 --- stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Thu May 15 00:50:57 2014	(r266101)
 +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Thu May 15 00:52:17 2014	(r266102)
 @@ -300,7 +300,8 @@ static kmutex_t		dtrace_meta_lock;	/* me
  #define PRIV_PROC_ZONE		(1 << 5)
  #define PRIV_ALL		~0
  
 -SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace Information");
 +SYSCTL_DECL(_debug_dtrace);
 +SYSCTL_DECL(_kern_dtrace);
  #endif
  
  #if defined(sun)
 
 Modified: stable/10/sys/cddl/dev/dtrace/dtrace_ioctl.c
 ==============================================================================
 --- stable/10/sys/cddl/dev/dtrace/dtrace_ioctl.c	Thu May 15 00:50:57 2014	(r266101)
 +++ stable/10/sys/cddl/dev/dtrace/dtrace_ioctl.c	Thu May 15 00:52:17 2014	(r266102)
 @@ -23,7 +23,8 @@
   */
  
  static int dtrace_verbose_ioctl;
 -SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW, &dtrace_verbose_ioctl, 0, "");
 +SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW,
 +    &dtrace_verbose_ioctl, 0, "log DTrace ioctls");
  
  #define DTRACE_IOCTL_PRINTF(fmt, ...)	if (dtrace_verbose_ioctl) printf(fmt, ## __VA_ARGS__ )
  
 
 Modified: stable/10/sys/cddl/dev/dtrace/dtrace_sysctl.c
 ==============================================================================
 --- stable/10/sys/cddl/dev/dtrace/dtrace_sysctl.c	Thu May 15 00:50:57 2014	(r266101)
 +++ stable/10/sys/cddl/dev/dtrace/dtrace_sysctl.c	Thu May 15 00:52:17 2014	(r266102)
 @@ -22,6 +22,8 @@
   *
   */
  
 +SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace debug parameters");
 +
  int	dtrace_debug = 0;
  TUNABLE_INT("debug.dtrace.debug", &dtrace_debug);
  SYSCTL_INT(_debug_dtrace, OID_AUTO, debug, CTLFLAG_RW, &dtrace_debug, 0, "");
 @@ -78,5 +80,12 @@ sysctl_dtrace_providers(SYSCTL_HANDLER_A
  }
  
  SYSCTL_PROC(_debug_dtrace, OID_AUTO, providers, CTLTYPE_STRING | CTLFLAG_RD,
 -    0, 0, sysctl_dtrace_providers, "A", "");
 +    0, 0, sysctl_dtrace_providers, "A", "available DTrace providers");
 +
 +SYSCTL_NODE(_kern, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace parameters");
 +
 +SYSCTL_LONG(_kern_dtrace, OID_AUTO, dof_maxsize, CTLFLAG_RW,
 +    &dtrace_dof_maxsize, 0, "largest allowed DOF table");
  
 +SYSCTL_LONG(_kern_dtrace, OID_AUTO, helper_actions_max, CTLFLAG_RW,
 +    &dtrace_helper_actions_max, 0, "maximum number of allowed helper actions");
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/187027: commit references a PR
Date: Thu, 15 May 2014 00:51:01 +0000 (UTC)

 Author: markj
 Date: Thu May 15 00:50:57 2014
 New Revision: 266101
 URL: http://svnweb.freebsd.org/changeset/base/266101
 
 Log:
   MFC r262665:
   Expose a few DTrace parameters as sysctls under kern.dtrace and add
   descriptions for several existing sysctls.
   
   PR:	187027
 
 Modified:
   stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
   stable/9/sys/cddl/dev/dtrace/dtrace_ioctl.c
   stable/9/sys/cddl/dev/dtrace/dtrace_sysctl.c
 Directory Properties:
   stable/9/sys/   (props changed)
   stable/9/sys/cddl/contrib/opensolaris/   (props changed)
 
 Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
 ==============================================================================
 --- stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Thu May 15 00:48:05 2014	(r266100)
 +++ stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Thu May 15 00:50:57 2014	(r266101)
 @@ -300,7 +300,8 @@ static kmutex_t		dtrace_meta_lock;	/* me
  #define PRIV_PROC_ZONE		(1 << 5)
  #define PRIV_ALL		~0
  
 -SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace Information");
 +SYSCTL_DECL(_debug_dtrace);
 +SYSCTL_DECL(_kern_dtrace);
  #endif
  
  #if defined(sun)
 
 Modified: stable/9/sys/cddl/dev/dtrace/dtrace_ioctl.c
 ==============================================================================
 --- stable/9/sys/cddl/dev/dtrace/dtrace_ioctl.c	Thu May 15 00:48:05 2014	(r266100)
 +++ stable/9/sys/cddl/dev/dtrace/dtrace_ioctl.c	Thu May 15 00:50:57 2014	(r266101)
 @@ -23,7 +23,8 @@
   */
  
  static int dtrace_verbose_ioctl;
 -SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW, &dtrace_verbose_ioctl, 0, "");
 +SYSCTL_INT(_debug_dtrace, OID_AUTO, verbose_ioctl, CTLFLAG_RW,
 +    &dtrace_verbose_ioctl, 0, "log DTrace ioctls");
  
  #define DTRACE_IOCTL_PRINTF(fmt, ...)	if (dtrace_verbose_ioctl) printf(fmt, ## __VA_ARGS__ )
  
 
 Modified: stable/9/sys/cddl/dev/dtrace/dtrace_sysctl.c
 ==============================================================================
 --- stable/9/sys/cddl/dev/dtrace/dtrace_sysctl.c	Thu May 15 00:48:05 2014	(r266100)
 +++ stable/9/sys/cddl/dev/dtrace/dtrace_sysctl.c	Thu May 15 00:50:57 2014	(r266101)
 @@ -22,6 +22,8 @@
   *
   */
  
 +SYSCTL_NODE(_debug, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace debug parameters");
 +
  int	dtrace_debug = 0;
  TUNABLE_INT("debug.dtrace.debug", &dtrace_debug);
  SYSCTL_INT(_debug_dtrace, OID_AUTO, debug, CTLFLAG_RW, &dtrace_debug, 0, "");
 @@ -78,5 +80,12 @@ sysctl_dtrace_providers(SYSCTL_HANDLER_A
  }
  
  SYSCTL_PROC(_debug_dtrace, OID_AUTO, providers, CTLTYPE_STRING | CTLFLAG_RD,
 -    0, 0, sysctl_dtrace_providers, "A", "");
 +    0, 0, sysctl_dtrace_providers, "A", "available DTrace providers");
 +
 +SYSCTL_NODE(_kern, OID_AUTO, dtrace, CTLFLAG_RD, 0, "DTrace parameters");
 +
 +SYSCTL_LONG(_kern_dtrace, OID_AUTO, dof_maxsize, CTLFLAG_RW,
 +    &dtrace_dof_maxsize, 0, "largest allowed DOF table");
  
 +SYSCTL_LONG(_kern_dtrace, OID_AUTO, helper_actions_max, CTLFLAG_RW,
 +    &dtrace_helper_actions_max, 0, "maximum number of allowed helper actions");
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
>Unformatted:
