From owner-p4-projects@FreeBSD.ORG Tue Jan 22 08:53:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E64F16A46C; Tue, 22 Jan 2008 08:53:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFDF116A418 for ; Tue, 22 Jan 2008 08:53:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 92F5913C447 for ; Tue, 22 Jan 2008 08:53:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0M8rfEx008568 for ; Tue, 22 Jan 2008 08:53:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0M8rfwj008565 for perforce@freebsd.org; Tue, 22 Jan 2008 08:53:41 GMT (envelope-from jb@freebsd.org) Date: Tue, 22 Jan 2008 08:53:41 GMT Message-Id: <200801220853.m0M8rfwj008565@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 133857 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2008 08:53:42 -0000 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 \