PERFORCE change 133857 for review

John Birrell jb at FreeBSD.org
Tue Jan 22 00:53:42 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=133857

Change 133857 by jb at jb_freebsd1 on 2008/01/22 08:53:19

	On amd64, a request to allocate 100 terabytes of per-cpu buffers
	actually succeeds. Ugh. Enforce a much lower limit of 32 Gb so
	that the DTrace test suite doesn't drive the system into the ground.
	
	Enable most of the buffering tests so that we now pass 664 tests.
	There are a couple of buffering tests which are Solaris-specific, plus
	a couple that are still under investigation for crimes against the
	operating system.

Affected files ...

.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#20 edit
.. //depot/projects/dtrace/src/tools/test/dtrace/Makefile#13 edit

Differences ...

==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/dtrace/dtrace.c#20 (text) ====

@@ -10317,6 +10317,14 @@
 #else
 	int i;
 
+	/*
+	 * FreeBSD isn't good at limiting the amount of memory we
+	 * ask to malloc, so let's place a limit here before trying
+	 * to do something that might well end in tears at bedtime.
+	 */
+	if (size > 32ULL * 1024 * 1024 * 1024)
+		return(ENOMEM);
+
 	ASSERT(MUTEX_HELD(&dtrace_lock));
 	for (i = 0; i <= mp_maxid; i++) {
 		if ((cp = pcpu_find(i)) == NULL)

==== //depot/projects/dtrace/src/tools/test/dtrace/Makefile#13 (text+ko) ====

@@ -56,23 +56,10 @@
 	${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d		\
 	${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d		\
 	${TESTSRCDIR}/tst/common/assocs/tst.orthogonality.d			\
-	${TESTSRCDIR}/tst/common/buffering/err.end.d				\
-	${TESTSRCDIR}/tst/common/buffering/err.resize1.d			\
-	${TESTSRCDIR}/tst/common/buffering/err.resize2.d			\
-	${TESTSRCDIR}/tst/common/buffering/err.resize3.d			\
-	${TESTSRCDIR}/tst/common/buffering/err.zerobuf.d			\
-	${TESTSRCDIR}/tst/common/buffering/tst.alignring.d			\
 	${TESTSRCDIR}/tst/common/buffering/tst.cputime.ksh			\
-	${TESTSRCDIR}/tst/common/buffering/tst.dynvarsize.d			\
-	${TESTSRCDIR}/tst/common/buffering/tst.fill1.d				\
 	${TESTSRCDIR}/tst/common/buffering/tst.resize1.d			\
 	${TESTSRCDIR}/tst/common/buffering/tst.resize2.d			\
-	${TESTSRCDIR}/tst/common/buffering/tst.resize3.d			\
-	${TESTSRCDIR}/tst/common/buffering/tst.ring1.d				\
-	${TESTSRCDIR}/tst/common/buffering/tst.ring2.d				\
 	${TESTSRCDIR}/tst/common/buffering/tst.ring3.d				\
-	${TESTSRCDIR}/tst/common/buffering/tst.smallring.d			\
-	${TESTSRCDIR}/tst/common/buffering/tst.switch1.d			\
 	${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d	\
 	${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d		\
 	${TESTSRCDIR}/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d	\


More information about the p4-projects mailing list