Index: benchmark/io/readv.cfa
===================================================================
--- benchmark/io/readv.cfa	(revision 0335620c9fbbe75897c5ef0473c3475796a22d6f)
+++ benchmark/io/readv.cfa	(revision dd4e2d7a1ba13c040f8d0eb5c9b0c672b5755c3a)
@@ -59,5 +59,6 @@
 	unsigned long int nthreads = 2;
 	unsigned long int nprocs   = 1;
-	int flags = 0;
+	unsigned flags = 0;
+	unsigned sublen = 16;
 
 	arg_loop:
@@ -70,9 +71,10 @@
 			{"userthread",   no_argument      , 0, 'u'},
 			{"submitthread", no_argument      , 0, 's'},
+			{"submitlength", required_argument, 0, 'l'},
 			{0, 0, 0, 0}
 		};
 
 		int idx = 0;
-		int opt = getopt_long(argc, argv, "d:t:p:b:us", options, &idx);
+		int opt = getopt_long(argc, argv, "d:t:p:b:usl:", options, &idx);
 
 		const char * arg = optarg ? optarg : "";
@@ -116,4 +118,12 @@
 			case 's':
 				flags |= CFA_CLUSTER_IO_POLLER_THREAD_SUBMITS;
+				break;
+			case 'l':
+				sublen = strtoul(arg, &end, 10);
+				if(*end != '\0' && sublen < 16) {
+					fprintf(stderr, "Submit length must be at least 16, was %s\n", arg);
+					goto usage;
+				}
+				flags |= (sublen << CFA_CLUSTER_IO_BUFFLEN_OFFSET);
 				break;
 			// Other cases
