Index: src/benchmark/Makefile.am
===================================================================
--- src/benchmark/Makefile.am	(revision 2ee007657cea665088604109f9560f8212a1015d)
+++ src/benchmark/Makefile.am	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
@@ -92,5 +92,18 @@
 
 ## =========================================================================================================
+loop$(EXEEXT):
+	@@BACKEND_CC@ loop.c      -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+function$(EXEEXT):
+	@@BACKEND_CC@ function.c  -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+fetch_add$(EXEEXT):
+	@@BACKEND_CC@ fetch_add.c -DBENCH_N=500000000  -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+## =========================================================================================================
 ctxswitch$(EXEEXT): \
+	loop.run				\
+	function.run			\
+	fetch_add.run			\
 	ctxswitch-pthread.run		\
 	ctxswitch-cfa_coroutine.run	\
@@ -139,6 +152,7 @@
 ## =========================================================================================================
 mutex$(EXEEXT) :\
-	mutex-function.run	\
-	mutex-fetch_add.run	\
+	loop.run			\
+	function.run		\
+	fetch_add.run		\
 	mutex-pthread_lock.run	\
 	mutex-upp.run		\
@@ -147,10 +161,4 @@
 	mutex-cfa4.run		\
 	mutex-java_thread.run
-
-mutex-function$(EXEEXT):
-	@@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-fetch_add$(EXEEXT):
-	@@BACKEND_CC@ mutex/fetch_add.c   -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 mutex-pthread_lock$(EXEEXT):
Index: src/benchmark/Makefile.in
===================================================================
--- src/benchmark/Makefile.in	(revision 2ee007657cea665088604109f9560f8212a1015d)
+++ src/benchmark/Makefile.in	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
@@ -505,5 +505,17 @@
 	@echo "}"
 
+loop$(EXEEXT):
+	@@BACKEND_CC@ loop.c      -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+function$(EXEEXT):
+	@@BACKEND_CC@ function.c  -DBENCH_N=5000000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
+fetch_add$(EXEEXT):
+	@@BACKEND_CC@ fetch_add.c -DBENCH_N=500000000  -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags}
+
 ctxswitch$(EXEEXT): \
+	loop.run				\
+	function.run			\
+	fetch_add.run			\
 	ctxswitch-pthread.run		\
 	ctxswitch-cfa_coroutine.run	\
@@ -551,6 +563,7 @@
 
 mutex$(EXEEXT) :\
-	mutex-function.run	\
-	mutex-fetch_add.run	\
+	loop.run			\
+	function.run		\
+	fetch_add.run		\
 	mutex-pthread_lock.run	\
 	mutex-upp.run		\
@@ -559,10 +572,4 @@
 	mutex-cfa4.run		\
 	mutex-java_thread.run
-
-mutex-function$(EXEEXT):
-	@@BACKEND_CC@ mutex/function.c    -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
-
-mutex-fetch_add$(EXEEXT):
-	@@BACKEND_CC@ mutex/fetch_add.c   -DBENCH_N=500000000   -I. -lrt -pthread                    ${AM_CFLAGS} ${CFLAGS} ${ccflags}
 
 mutex-pthread_lock$(EXEEXT):
Index: src/benchmark/fetch_add.c
===================================================================
--- src/benchmark/fetch_add.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
+++ src/benchmark/fetch_add.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
@@ -0,0 +1,22 @@
+#include <stdio.h>
+
+#include "bench.h"
+
+volatile int value;
+
+void __attribute__((noinline)) do_call() {
+	__atomic_add_fetch( &value, 1, __ATOMIC_SEQ_CST );
+	asm volatile ("");
+	__atomic_sub_fetch( &value, 1, __ATOMIC_SEQ_CST );
+}
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			do_call();
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+}
Index: src/benchmark/function.c
===================================================================
--- src/benchmark/function.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
+++ src/benchmark/function.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
@@ -0,0 +1,18 @@
+#include <stdio.h>
+
+#include "bench.h"
+
+void __attribute__((noinline)) do_call() {
+	asm volatile("" ::: "memory");
+}
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			do_call();
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+}
Index: src/benchmark/loop.c
===================================================================
--- src/benchmark/loop.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
+++ src/benchmark/loop.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+#include "bench.h"
+
+int main(int argc, char* argv[]) {
+	BENCH(
+		for (size_t i = 0; i < n; i++) {
+			asm volatile("" ::: "memory");
+		},
+		result
+	)
+
+	printf("%llu\n", result);
+}
Index: c/benchmark/mutex/fetch_add.c
===================================================================
--- src/benchmark/mutex/fetch_add.c	(revision 2ee007657cea665088604109f9560f8212a1015d)
+++ 	(revision )
@@ -1,22 +1,0 @@
-#include <stdio.h>
-
-#include "bench.h"
-
-volatile int value;
-
-void __attribute__((noinline)) do_call() {
-	__atomic_add_fetch( &value, 1, __ATOMIC_SEQ_CST );
-	asm volatile ("");
-	__atomic_sub_fetch( &value, 1, __ATOMIC_SEQ_CST );
-}
-
-int main(int argc, char* argv[]) {
-	BENCH(
-		for (size_t i = 0; i < n; i++) {
-			do_call();
-		},
-		result
-	)
-
-	printf("%llu\n", result);
-}
Index: c/benchmark/mutex/function.c
===================================================================
--- src/benchmark/mutex/function.c	(revision 2ee007657cea665088604109f9560f8212a1015d)
+++ 	(revision )
@@ -1,18 +1,0 @@
-#include <stdio.h>
-
-#include "bench.h"
-
-void __attribute__((noinline)) do_call() {
-	asm volatile ("");
-}
-
-int main(int argc, char* argv[]) {
-	BENCH(
-		for (size_t i = 0; i < n; i++) {
-			do_call();
-		},
-		result
-	)
-
-	printf("%llu\n", result);
-}
Index: src/libcfa/concurrency/kernel.c
===================================================================
--- src/libcfa/concurrency/kernel.c	(revision 2ee007657cea665088604109f9560f8212a1015d)
+++ src/libcfa/concurrency/kernel.c	(revision 09ccaf52914920577e940660dec5c76f2ce23611)
@@ -16,4 +16,5 @@
 //C Includes
 #include <stddef.h>
+#include <errno.h>
 extern "C" {
 #include <stdio.h>
@@ -663,6 +664,7 @@
 	__cfaabi_dbg_print_safe("Kernel : Processor %p ready to sleep\n", this);
 
-	verify( ({int sval = 0; sem_getvalue(&this->idleLock, &sval); sval; }) < 65536);
-	sem_wait(&idleLock);
+	verify( ({int sval = 0; sem_getvalue(&this->idleLock, &sval); sval; }) < 200);
+	int __attribute__((unused)) ret = sem_wait(&idleLock);
+	verify(ret > 0 || errno == EINTR);
 
 	__cfaabi_dbg_print_safe("Kernel : Processor %p woke up and ready to run\n", this);
@@ -678,6 +680,7 @@
 void wake(processor * this) {
 	__cfaabi_dbg_print_safe("Kernel : Waking up processor %p\n", this);
-	sem_post(&this->idleLock);
-	verify( ({int sval = 0; sem_getvalue(&this->idleLock, &sval); sval; }) < 65536);
+	int __attribute__((unused)) ret = sem_post(&this->idleLock);
+	verify(ret > 0 || errno == EINTR);
+	verify( ({int sval = 0; sem_getvalue(&this->idleLock, &sval); sval; }) < 200);
 }
 
