Index: kernel/test/mm/falloc2.c
===================================================================
--- kernel/test/mm/falloc2.c	(revision 95155b0cd020d126e09ca42230ae0a4dce3f296c)
+++ kernel/test/mm/falloc2.c	(revision 49319acaa805c75ddb5bb087f767d7b9589f91ce)
@@ -48,4 +48,5 @@
 static atomic_t thread_count;
 static atomic_t thread_fail;
+static bool sh_quiet;
 
 static void falloc(void * arg)
@@ -57,5 +58,6 @@
 	uintptr_t * frames =  (uintptr_t *) malloc(MAX_FRAMES * sizeof(uintptr_t), FRAME_ATOMIC);
 	if (frames == NULL) {
-		printf("Thread #%d (cpu%d): Unable to allocate frames\n", THREAD->tid, CPU->id);
+		if (!sh_quiet)
+			printf("Thread #%d (cpu%d): Unable to allocate frames\n", THREAD->tid, CPU->id);
 		atomic_inc(&thread_fail);
 		atomic_dec(&thread_count);
@@ -67,5 +69,7 @@
 	for (run = 0; run < THREAD_RUNS; run++) {
 		for (order = 0; order <= MAX_ORDER; order++) {
-			printf("Thread #%d (cpu%d): Allocating %d frames blocks ... \n", THREAD->tid, CPU->id, 1 << order);
+			if (!sh_quiet)
+				printf("Thread #%d (cpu%d): Allocating %d frames blocks ... \n", THREAD->tid, CPU->id, 1 << order);
+			
 			allocated = 0;
 			for (i = 0; i < (MAX_FRAMES >> order); i++) {
@@ -77,11 +81,16 @@
 					break;
 			}
-			printf("Thread #%d (cpu%d): %d blocks allocated.\n", THREAD->tid, CPU->id, allocated);
-
-			printf("Thread #%d (cpu%d): Deallocating ... \n", THREAD->tid, CPU->id);
+			
+			if (!sh_quiet)
+				printf("Thread #%d (cpu%d): %d blocks allocated.\n", THREAD->tid, CPU->id, allocated);
+			
+			if (!sh_quiet)
+				printf("Thread #%d (cpu%d): Deallocating ... \n", THREAD->tid, CPU->id);
+			
 			for (i = 0; i < allocated; i++) {
 				for (k = 0; k <= ((FRAME_SIZE << order) - 1); k++) {
 					if (((uint8_t *) frames[i])[k] != val) {
-						printf("Thread #%d (cpu%d): Unexpected data (%d) in block %p offset %#zx\n", THREAD->tid, CPU->id, ((char *) frames[i])[k], frames[i], k);
+						if (!sh_quiet)
+							printf("Thread #%d (cpu%d): Unexpected data (%d) in block %p offset %#zx\n", THREAD->tid, CPU->id, ((char *) frames[i])[k], frames[i], k);
 						atomic_inc(&thread_fail);
 						goto cleanup;
@@ -90,5 +99,7 @@
 				frame_free(KA2PA(frames[i]));
 			}
-			printf("Thread #%d (cpu%d): Finished run.\n", THREAD->tid, CPU->id);
+			
+			if (!sh_quiet)
+				printf("Thread #%d (cpu%d): Finished run.\n", THREAD->tid, CPU->id);
 		}
 	}
@@ -96,5 +107,7 @@
 cleanup:	
 	free(frames);
-	printf("Thread #%d (cpu%d): Exiting\n", THREAD->tid, CPU->id);
+	
+	if (!sh_quiet)
+		printf("Thread #%d (cpu%d): Exiting\n", THREAD->tid, CPU->id);
 	atomic_dec(&thread_count);
 }
@@ -103,4 +116,5 @@
 {
 	unsigned int i;
+	sh_quiet = quiet;
 
 	atomic_set(&thread_count, THREADS);
@@ -110,5 +124,6 @@
 		thread_t * thrd = thread_create(falloc, NULL, TASK, 0, "falloc", false);
 		if (!thrd) {
-			printf("Could not create thread %d\n", i);
+			if (!quiet)
+				printf("Could not create thread %d\n", i);
 			break;
 		}
@@ -117,5 +132,6 @@
 	
 	while (atomic_get(&thread_count) > 0) {
-		printf("Threads left: %d\n", atomic_get(&thread_count));
+		if (!quiet)
+			printf("Threads left: %d\n", atomic_get(&thread_count));
 		thread_sleep(1);
 	}
