large page morecore: add command line options to test
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Mon, 3 Aug 2015 13:42:20 +0000 (15:42 +0200)
committerDavid Cock <david.cock@inf.ethz.ch>
Tue, 11 Aug 2015 09:19:37 +0000 (11:19 +0200)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

usr/tests/large_page/malloc_test.c

index 1f5f954..f2d7e7d 100644 (file)
 #include <barrelfish/barrelfish.h>
 #include <barrelfish/sys_debug.h>
 
-#define RUNS 2
+#define DEFAULT_RUNS 2
 // 128MB buffer
-#define BUFSIZE (128UL*1024*1024)
+#define DEFAULT_BUFSIZE (128UL*1024*1024)
 
-int main(void)
+int main(int argc, char *argv[])
 {
+    unsigned long BUFSIZE = DEFAULT_BUFSIZE;
+    unsigned RUNS = DEFAULT_RUNS;
+    if (argc == 2) {
+        if (strcmp(argv[1], "-h") == 0) {
+            debug_printf("usage: %s <bufsize> <runs>\n", argv[0]);
+            debug_printf("  both arguments are optional, defaults are:\n");
+            debug_printf("    BUFSIZE = %lu\n", DEFAULT_BUFSIZE);
+            debug_printf("    RUNS = %u\n", DEFAULT_RUNS);
+            return 0;
+        }
+        BUFSIZE = strtol(argv[1], NULL, 0);
+    }
+    if (argc == 3) {
+        RUNS = strtol(argv[1], NULL, 0);
+    }
+    debug_printf("running malloc test with BUFSIZE = %lu, runs = %u\n", BUFSIZE, RUNS);
     void *bufs[RUNS];
     for (int k = 0; k < RUNS; k++) {
         // touch every 4k page in region