Index: libcfa/src/concurrency/locks.cfa
===================================================================
--- libcfa/src/concurrency/locks.cfa	(revision 63be33872128e89a0dc1fe9bdb8448d00934a453)
+++ libcfa/src/concurrency/locks.cfa	(revision 7d9598d809dda423890eb3996cfe6e61bc3b543b)
@@ -414,5 +414,5 @@
 		#ifdef __CFA_DEBUG__
 			if ( lock_used == 0p ) lock_used = &l;
-			else { assert(lock_used == &l); }
+			else assert(lock_used == &l);
 		#endif
 		info_thread( L ) i = { active_thread(), info, &l };
Index: libcfa/src/concurrency/locks.hfa
===================================================================
--- libcfa/src/concurrency/locks.hfa	(revision 63be33872128e89a0dc1fe9bdb8448d00934a453)
+++ libcfa/src/concurrency/locks.hfa	(revision 7d9598d809dda423890eb3996cfe6e61bc3b543b)
@@ -162,5 +162,5 @@
 
 // to use for FUTEX_WAKE and FUTEX_WAIT (other futex calls will need more params)
-static int futex(int *uaddr, int futex_op, int val) {
+static inline int futex(int *uaddr, int futex_op, int val) {
     return syscall(SYS_futex, uaddr, futex_op, val, NULL, NULL, 0);
 }
@@ -181,13 +181,15 @@
 
 	
-	// linear backoff
-	for( int spin = 4; spin < 1024; spin += spin) {
-		state = 0;
-		// if unlocked, lock and return
-		if (internal_try_lock(this, state)) return;
-		if (2 == state) break;
-		for (int i = 0; i < spin; i++) Pause();
-	}
-	// if (internal_try_lock(this, state)) return;
+	// // linear backoff omitted for now
+	// for( int spin = 4; spin < 1024; spin += spin) {
+	// 	state = 0;
+	// 	// if unlocked, lock and return
+	// 	if (internal_try_lock(this, state)) return;
+	// 	if (2 == state) break;
+	// 	for (int i = 0; i < spin; i++) Pause();
+	// }
+
+	// no contention try to acquire
+	if (internal_try_lock(this, state)) return;
 	
 	// if not in contended state, set to be in contended state
@@ -290,5 +292,5 @@
 
 static inline bool block(linear_backoff_then_block_lock & this) with(this) {
-	lock( spinlock __cfaabi_dbg_ctx2 );
+	lock( spinlock __cfaabi_dbg_ctx2 ); // TODO change to lockfree queue (MPSC)
 	if (lock_value != 2) {
 		unlock( spinlock );
