Index: benchmark/readyQ/yield.cfa
===================================================================
--- benchmark/readyQ/yield.cfa	(revision 01c625651c455d1883e6338c9211e466f3d32d46)
+++ benchmark/readyQ/yield.cfa	(revision e96e439fee7afae6706b108ea22bda2bb315b052)
@@ -43,31 +43,14 @@
 
 int main(int argc, char * argv[]) {
-	BENCH_DECL
 	unsigned num_io = 1;
 	io_context_params params;
 
-	for(;;) {
-		static struct option options[] = {
-			BENCH_OPT_LONG
-			{0, 0, 0, 0}
-		};
+	cfa_option opt[] = {
+		BENCH_OPT_CFA
+	};
+	int opt_cnt = sizeof(opt) / sizeof(cfa_option);
 
-		int idx = 0;
-		int opt = getopt_long(argc, argv, BENCH_OPT_SHORT, options, &idx);
-
-		const char * arg = optarg ? optarg : "";
-		char * end;
-		switch(opt) {
-			case -1:
-				goto run;
-			BENCH_OPT_CASE
-			default: /* ? */
-				fprintf( stderr, "Unkown option '%c'\n", opt);
-			usage:
-				bench_usage( argv );
-				exit(1);
-		}
-	}
-	run:
+	char **left;
+	parse_args( argc, argv, opt, opt_cnt, "[OPTIONS]...\ncforall yield benchmark", left );
 
 	{
