PERFORCE change 129098 for review

John Birrell jb at FreeBSD.org
Thu Nov 15 13:42:07 PST 2007


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

Change 129098 by jb at jb_freebsd1 on 2007/11/15 21:41:47

	IFopensolaris

Affected files ...

.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c#3 integrate
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.d#3 integrate
.. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#7 integrate

Differences ...

==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c#3 (text+ko) ====

@@ -20,20 +20,21 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
-#include <sys/mman.h>
+#include <stdio.h>
+#include <sys/syscall.h>
 
 /*ARGSUSED*/
 int
 main(int argc, char **argv)
 {
 	for (;;) {
-		(void) mmap(NULL, 1, 2, 3, -1, 0x12345678);
+		(void) syscall(SYS_mmap, NULL, 1, 2, 3, -1, 0x12345678);
 	}
 
 	return (0);

==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.d#3 (text+ko) ====

@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -42,5 +42,5 @@
 tick-1s
 /i++ == 3/
 {
-	exit(0);
+	exit(1);
 }

==== //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#7 (text) ====

@@ -212,6 +212,8 @@
 static char *tmpname = NULL;
 static int dynsym;
 int debug_level = DEBUG_LEVEL;
+static size_t maxpgsize = 0x400000;
+
 
 void
 usage(void)
@@ -235,7 +237,7 @@
 bigheap(void)
 {
 	size_t big, *size;
-	int sizes, i;
+	int sizes;
 	struct memcntl_mha mha;
 
 	/*
@@ -244,12 +246,16 @@
 	if ((sizes = getpagesizes(NULL, 0)) == -1)
 		return;
 
-	if ((size = alloca(sizeof (size_t) * sizes)) == NULL)
+	if (sizes == 1 || (size = alloca(sizeof (size_t) * sizes)) == NULL)
 		return;
 
-	if (getpagesizes(size, sizes) == -1 || sizes == 1)
+	if (getpagesizes(size, sizes) == -1)
 		return;
 
+	while (size[sizes - 1] > maxpgsize)
+		sizes--;
+
+	/* set big to the largest allowed page size */
 	big = size[sizes - 1];
 	if (big & (big - 1)) {
 		/*
@@ -266,21 +272,13 @@
 		return;
 
 	/*
-	 * Finally, set our heap to use the largest page size for which the
-	 * MC_HAT_ADVISE doesn't return EAGAIN.
+	 * set the preferred page size for the heap
 	 */
 	mha.mha_cmd = MHA_MAPSIZE_BSSBRK;
 	mha.mha_flags = 0;
+	mha.mha_pagesize = big;
 
-	for (i = sizes - 1; i >= 0; i--) {
-		mha.mha_pagesize = size[i];
-
-		if (memcntl(NULL, 0, MC_HAT_ADVISE, (caddr_t)&mha, 0, 0) != -1)
-			break;
-
-		if (errno != EAGAIN)
-			break;
-	}
+	(void) memcntl(NULL, 0, MC_HAT_ADVISE, (caddr_t)&mha, 0, 0);
 }
 #endif
 


More information about the p4-projects mailing list