Index: benchmark/Makefile.in
===================================================================
--- benchmark/Makefile.in	(revision c12869e252446e2346b620e01a91c06700f67b70)
+++ benchmark/Makefile.in	(revision 26fd986f03393501efae80e424071cb9eedeaa81)
@@ -427,13 +427,15 @@
 ctxswitch_cfa_generator_DURATION = 5000000000
 ctxswitch_DURATION = 100000000
-mutex_java_DURATION = 10000000
+
+#mutex_java_DURATION = 10000000
 mutex_DURATION = 50000000
-signal_pthread_DURATION = 1000000
-signal_java_DURATION = $(signal_pthread_DURATION)
-signal_rust_DURATION = $(signal_pthread_DURATION)
-signal_DURATION = 10000000
-waitfor_DURATION = 10000000
+schedint_pthread_DURATION = 1000000
+schedint_java_DURATION = $(schedint_pthread_DURATION)
+schedint_rust_DURATION = $(schedint_pthread_DURATION)
+schedint_DURATION = 10000000
+schedext_DURATION = 10000000
 creation_pthread_DURATION = 250000
-creation_rust_DURATION = ${creation_pthread_DURATION}
+creation_rust_thread_DURATION = ${creation_pthread_DURATION}
+creation_java_thread_DURATION = ${creation_pthread_DURATION}
 creation_cfa_coroutine_DURATION = 100000000
 creation_cfa_coroutine_eager_DURATION = 10000000
@@ -784,7 +786,7 @@
 .ONESHELL:		# use one shell to execute recipe
 .NOTPARALLEL:
-.PHONY: compile.csv basic.csv ctxswitch.csv mutex.csv signal.csv
-
-all : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
+.PHONY: compile.csv basic.csv ctxswitch.csv mutex.csv schedint.csv
+
+all : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT)
 
 %.run : %$(EXEEXT) ${REPEAT}
@@ -825,6 +827,6 @@
 	+make mutex.csv
 	-+make mutex.diff.csv
-	+make signal.csv
-	-+make signal.diff.csv
+	+make schedint.csv
+	-+make schedint.diff.csv
 @DOifskipcompile@
 	cat compile.csv
@@ -837,6 +839,6 @@
 	cat mutex.csv
 	-cat mutex.diff.csv
-	cat signal.csv
-	-cat signal.diff.csv
+	cat schedint.csv
+	-cat schedint.diff.csv
 
 compile.csv:
@@ -872,10 +874,10 @@
 	$(srcdir)/fixcsv.sh $@
 
-signal.csv:
-	echo "signal-1,signal-2,waitfor-1,waitfor-2" > $@
-	+make signal-cfa1.runquiet >> $@ && echo -n ',' >> $@
-	+make signal-cfa2.runquiet >> $@ && echo -n ',' >> $@
-	+make waitfor-cfa1.runquiet >> $@ && echo -n ',' >> $@
-	+make waitfor-cfa2.runquiet >> $@
+schedint.csv:
+	echo "schedint-1,schedint-2,schedext-1,schedext-2" > $@
+	+make schedint-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	+make schedint-cfa2.runquiet >> $@ && echo -n ',' >> $@
+	+make schedext-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	+make schedext-cfa2.runquiet >> $@
 	$(srcdir)/fixcsv.sh $@
 
@@ -989,32 +991,29 @@
 	chmod a+x a.out
 
-signal$(EXEEXT) :		\
-	signal-cfa1.run		\
-	signal-cfa2.run		\
-	signal-cfa4.run		\
-	signal-upp.run		\
-	signal-rust.run		\
-	signal-java.run		\
-	signal-pthread.run
-
-signal-pthread$(EXEEXT):
-	$(BENCH_V_CC)$(COMPILE) $(srcdir)/schedint/pthreads.c
-
-signal-upp$(EXEEXT):
+schedint$(EXEEXT) :		\
+	schedint-cfa1.run	\
+	schedint-cfa2.run	\
+	schedint-cfa4.run	\
+	schedint-upp.run	\
+	schedint-rust.run	\
+	schedint-java.run	\
+	schedint-pthread.run
+
+schedint-cfa1$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa1.cfa
+
+schedint-cfa2$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa2.cfa
+
+schedint-cfa4$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa4.cfa
+
+schedint-upp$(EXEEXT):
 	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/schedint/upp.cc
 
-signal-cfa1$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa1.cfa
-
-signal-cfa2$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa2.cfa
-
-signal-cfa4$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedint/cfa4.cfa
-
-signal-rust$(EXEEXT):
+schedint-rust$(EXEEXT):
 	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/schedint/rust.rs
 
-signal-java$(EXEEXT):
+schedint-java$(EXEEXT):
 	$(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
 	echo "#!/bin/sh" > a.out
@@ -1022,23 +1021,31 @@
 	chmod a+x a.out
 
-waitfor$(EXEEXT) :		\
-	waitfor-cfa1.run	\
-	waitfor-cfa2.run	\
-	waitfor-cfa4.run	\
-	waitfor-upp.run
-
-waitfor-upp$(EXEEXT):
+schedint-pthread$(EXEEXT):
+	$(BENCH_V_CC)$(COMPILE) $(srcdir)/schedint/pthreads.c
+
+schedext$(EXEEXT) :		\
+	schedext-cfa1.run	\
+	schedext-cfa2.run	\
+	schedext-cfa4.run	\
+	schedext-upp.run	\
+	schedext-goroutine.run
+
+schedext-cfa1$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa1.cfa
+
+schedext-cfa2$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa2.cfa
+
+schedext-cfa4$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa4.cfa
+
+schedext-upp$(EXEEXT):
 	$(BENCH_V_UPP)$(UPPCOMPILE) $(srcdir)/schedext/upp.cc
 
-waitfor-cfa1$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa1.cfa
-
-waitfor-cfa2$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa2.cfa
-
-waitfor-cfa4$(EXEEXT):
-	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/schedext/cfa4.cfa
+schedext-goroutine$(EXEEXT):
+	$(BENCH_V_GOC)go build -o a.out $(srcdir)/schedext/goroutine.go
 
 creation$(EXEEXT) :				\
+	creation-cfa_generator.run		\
 	creation-cfa_coroutine.run		\
 	creation-cfa_coroutine_eager.run	\
@@ -1053,4 +1060,7 @@
 	creation-pthread.run
 
+creation-cfa_generator$(EXEEXT):
+	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/creation/cfa_gen.cfa
+
 creation-cfa_coroutine$(EXEEXT):
 	$(BENCH_V_CFA)$(CFACOMPILE) $(srcdir)/creation/cfa_cor.cfa
@@ -1084,5 +1094,5 @@
 	$(BENCH_V_RUSTC)rustc -C opt-level=3 -o a.out $(srcdir)/creation/rust_thrd.rs
 
-creation-java$(EXEEXT):
+creation-java_thread$(EXEEXT):
 	$(BENCH_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
 	echo "#!/bin/sh" > a.out
