Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jan 2008 08:53:41 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 133857 for review
Message-ID:  <200801220853.m0M8rfwj008565@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=133857

Change 133857 by jb@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	\



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