Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jul 2013 12:11:54 +0000 (UTC)
From:      Peter Holm <pho@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r253032 - user/pho/stress2/testcases/mkdir
Message-ID:  <201307081211.r68CBsk1059108@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pho
Date: Mon Jul  8 12:11:54 2013
New Revision: 253032
URL: http://svnweb.freebsd.org/changeset/base/253032

Log:
  Fine tune resource reservation.
  
  Sponsored by:	EMC / Isilon storage division

Modified:
  user/pho/stress2/testcases/mkdir/mkdir.c

Modified: user/pho/stress2/testcases/mkdir/mkdir.c
==============================================================================
--- user/pho/stress2/testcases/mkdir/mkdir.c	Mon Jul  8 12:07:36 2013	(r253031)
+++ user/pho/stress2/testcases/mkdir/mkdir.c	Mon Jul  8 12:11:54 2013	(r253032)
@@ -60,17 +60,15 @@ setup(int nb)
 			pct = random_int(1, 90);
 		size = size / 100 * pct + 1;
 
-		size = size % 10000;	/* arbitrary limit depth */
-		size = size % 200;	/* arbitrary limit depth */ /* XXX Soft Update */
+		size = size % 200;	/* arbitrary limit depth */
 
 		/* Resource requirements: */
 		while (size > 0) {
-			reserve_in =    1 * size * op->incarnations + 1;
-			reserve_bl = 2048 * size * op->incarnations;
-//			printf("---size = %lu, reserve(%jd, %jd)\n", size, reserve_bl/1024, reserve_in);
+			reserve_in =    1 * size * op->incarnations;
+			reserve_bl = 4096 * size * op->incarnations;
 			if (reserve_bl <= bl && reserve_in <= in)
 				break;
-			size--;
+			size = size / 2;
 		}
 		if (size == 0)
 			reserve_bl = reserve_in = 0;
@@ -83,6 +81,9 @@ setup(int nb)
 	} else
 		size = getval();
 
+	if (size == 0)
+		exit(0);
+
 	return (0);
 }
 
@@ -104,7 +105,7 @@ mkDir(char *path, int level) {
 	if (done_testing == 1)
 		size = level;
 
-	if (level < size) {
+	if (level < (int)size) {
 		sprintf(newPath,"d%d", level+1);
 		mkDir(newPath, level+1);
 	}
@@ -114,7 +115,7 @@ void
 rmDir(char *path, int level) {
 	char newPath[MAXPATHLEN + 1];
 
-	if (level < size) {
+	if (level < (int)size) {
 		sprintf(newPath,"d%d", level+1);
 		rmDir(newPath, level+1);
 	}



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