svn commit: r253796 - user/pho/stress2/misc

Peter Holm pho at FreeBSD.org
Tue Jul 30 08:10:16 UTC 2013


Author: pho
Date: Tue Jul 30 08:10:15 2013
New Revision: 253796
URL: http://svnweb.freebsd.org/changeset/base/253796

Log:
  Make test work on amd64.
  
  Sponsored by:	EMC / Isilon storage division

Modified:
  user/pho/stress2/misc/mmap3.sh

Modified: user/pho/stress2/misc/mmap3.sh
==============================================================================
--- user/pho/stress2/misc/mmap3.sh	Tue Jul 30 08:09:48 2013	(r253795)
+++ user/pho/stress2/misc/mmap3.sh	Tue Jul 30 08:10:15 2013	(r253796)
@@ -33,13 +33,15 @@
 odir=`pwd`
 cd /tmp
 sed '1,/^EOF/d' < $odir/$0 > mmap3.c
-cc -o mmap3 -Wall mmap3.c -lpthread
+cc -o mmap3 -Wall mmap3.c -lpthread || exit 1
 rm -f mmap3.c
 
-for i in `jot 20`; do
+start=`date '+%s'`
+while [ `date '+%s'` -lt $((start + 5 * 60)) ]; do
 	./mmap3
 done
-for i in `jot 100`; do
+start=`date '+%s'`
+while [ `date '+%s'` -lt $((start + 5 * 60)) ]; do
 	./mmap3 random
 done
 rm -f mmap3 mmap3.core /tmp/mmap.0*
@@ -67,18 +69,22 @@ EOF
 #define STARTADDR 0x50000000U
 #define ADRSPACE  0x06400000U /* 100 Mb */
 
-static int
-ra;
+static int ra;
 
 void
 trash(void *p)
 {
-	mprotect(p, 0x570e3d38, 0x2c8fd54f);
+	unsigned long v;
 
+	mprotect(p, 0x570e3d38, 0x2c8fd54f);
 	if (ra) {
-		madvise((void *)arc4random(), arc4random(), arc4random());
-		mprotect((void *)arc4random(), arc4random(), arc4random());
-		msync((void *)arc4random(), arc4random(), arc4random());
+		v = arc4random();
+#if defined(__LP64__)
+		v = v << 32 | arc4random();
+#endif
+		madvise((void *)v, arc4random(), arc4random());
+		mprotect((void *)v, arc4random(), arc4random());
+		msync((void *)v, arc4random(), arc4random());
 	}
 
 }
@@ -112,7 +118,7 @@ work(int nr)
 
 	m = arc4random() % 10;
 	if (madvise(p, len, m) == -1)
-		warn("madvise(%p, %d, %d)", p, len, m);
+		warn("madvise(%p, %zd, %d)", p, len, m);
 	if (mprotect(p, trunc_page(arc4random() % len), PROT_READ) == -1 )
 		err(1, "mprotect failed with error:");
 	if (msync(p, 0, MS_SYNC) == -1)


More information about the svn-src-user mailing list