Index: benchmark/io/readv.cfa
===================================================================
--- benchmark/io/readv.cfa	(revision 61dd73dbc9ed2199345b4a1fa560ffa30aca0634)
+++ benchmark/io/readv.cfa	(revision 71c8b7e31eba62c9ae89cf00fe5ba1107e1d9d1d)
@@ -59,4 +59,5 @@
 	unsigned long int nthreads = 2;
 	unsigned long int nprocs   = 1;
+	int flags = 0;
 
 	printf("Setting local\n");
@@ -66,13 +67,14 @@
 	for(;;) {
 		static struct option options[] = {
-			{"duration",  required_argument, 0, 'd'},
-			{"nthreads",  required_argument, 0, 't'},
-			{"nprocs",    required_argument, 0, 'p'},
-			{"bufsize",   required_argument, 0, 'b'},
+			{"duration",   required_argument, 0, 'd'},
+			{"nthreads",   required_argument, 0, 't'},
+			{"nprocs",     required_argument, 0, 'p'},
+			{"bufsize",    required_argument, 0, 'b'},
+			{"userthread", no_argument      , 0, 'u'},
 			{0, 0, 0, 0}
 		};
 
 		int idx = 0;
-		int opt = getopt_long(argc, argv, "d:t:p:b:", options, &idx);
+		int opt = getopt_long(argc, argv, "d:t:p:b:u", options, &idx);
 
 		const char * arg = optarg ? optarg : "";
@@ -111,4 +113,7 @@
 				}
 				break;
+			case 'u':
+				flags |= CFA_CLUSTER_IO_POLLER_USER_THREAD;
+				break;
 			// Other cases
 			default: /* ? */
@@ -135,5 +140,5 @@
 	{
 		Time start, end;
-		cluster cl = { "IO Cluster" };
+		cluster cl = { "IO Cluster", flags };
 		the_cluster = &cl;
 		#if !defined(__CFA_NO_STATISTICS__)
