Index: benchmark/io/readv.cfa
===================================================================
--- benchmark/io/readv.cfa	(revision 920dca30bcba019a045f7c952126198e033be6ce)
+++ benchmark/io/readv.cfa	(revision 01c625651c455d1883e6338c9211e466f3d32d46)
@@ -40,5 +40,11 @@
 int do_read(int fd, struct iovec * iov) {
 	// extern ssize_t cfa_preadv2(int, const struct iovec *, int, off_t, int, int = 0, Duration = -1`s, io_cancellation * = 0p, io_context * = 0p);
-	int sflags = 0;
+	int sflags = 0
+	#if defined(CFA_HAVE_IOSQE_ASYNC)
+		| CFA_IO_ASYNC
+	#else
+	#warning no CFA_IO_ASYNC support
+	#endif
+	;
 	if(fixed_file) {
 		sflags |= CFA_IO_FIXED_FD1;
@@ -130,5 +136,4 @@
 				bench_usage( argv );
 				fprintf( stderr, "  -b, --buflen=SIZE        Number of bytes to read per request\n" );
-				fprintf( stderr, "  -u, --userthread         If set, cluster uses user-thread to poll I/O\n" );
 				fprintf( stderr, "  -s, --submitthread       If set, cluster uses polling thread to submit I/O\n" );
 				fprintf( stderr, "  -e, --eagersubmit        If set, cluster submits I/O eagerly but still aggregates submits\n" );
@@ -139,4 +144,7 @@
 		}
 	}
+
+	if(params.poll_submit  ) fixed_file = true;
+	if(params.poll_complete) file_flags |= O_DIRECT;
 
 	int lfd = open(__FILE__, file_flags);
