Index: tests/unified_locking/.expect/locks.txt
===================================================================
--- tests/unified_locking/.expect/locks.txt	(revision 53692b322992ab68045edc270c3b0ce9d4ef22f5)
+++ tests/unified_locking/.expect/locks.txt	(revision 5a46e09dae381c4d10eda5d14c8e5293ab0dcbb9)
@@ -15,10 +15,14 @@
 Start Test 8: fast lock and condition variable 3 wait/notify all
 Done Test 8
-Start Test 9: multi acquisiton lock and condition variable multiple acquire and wait/notify
+Start Test 9: linear backoff lock and condition variable single wait/notify
 Done Test 9
-Start Test 10: owner lock and condition variable multiple acquire and wait/notify
+Start Test 10: linear backoff lock and condition variable 3 wait/notify all
 Done Test 10
-Start Test 11: no lock condition variable wait/notify
+Start Test 11: multi acquisiton lock and condition variable multiple acquire and wait/notify
 Done Test 11
-Start Test 12: locked condition variable wait/notify with front()
+Start Test 12: owner lock and condition variable multiple acquire and wait/notify
 Done Test 12
+Start Test 13: no lock condition variable wait/notify
+Done Test 13
+Start Test 14: locked condition variable wait/notify with front()
+Done Test 14
Index: tests/unified_locking/locks.cfa
===================================================================
--- tests/unified_locking/locks.cfa	(revision 53692b322992ab68045edc270c3b0ce9d4ef22f5)
+++ tests/unified_locking/locks.cfa	(revision 5a46e09dae381c4d10eda5d14c8e5293ab0dcbb9)
@@ -18,4 +18,7 @@
 condition_variable( fast_lock ) c_f;
 
+linear_backoff_then_block_lock l;
+condition_variable( linear_backoff_then_block_lock ) c_l;
+
 thread T_C_M_WS1 {};
 
@@ -99,4 +102,32 @@
 		}
 		unlock(f);
+	}
+}
+
+thread T_C_L_WS1 {};
+
+void main( T_C_L_WS1 & this ) {
+	for (unsigned int i = 0; i < num_times; i++) {
+		lock(l);
+		if(empty(c_l) && i != num_times - 1) {
+			wait(c_l,l);
+		}else{
+			notify_one(c_l);
+		}
+		unlock(l);
+	}
+}
+
+thread T_C_L_WB1 {};
+
+void main( T_C_L_WB1 & this ) {
+	for (unsigned int i = 0; i < num_times; i++) {
+		lock(l);
+		if(counter(c_l) == 3 || i == num_times - 1) {
+			notify_all(c_l);
+		}else{
+			wait(c_l,l);
+		}
+		unlock(l);
 	}
 }
@@ -298,49 +329,39 @@
 	printf("Done Test 8\n");
 
-	printf("Start Test 9: multi acquisiton lock and condition variable multiple acquire and wait/notify\n");
+	printf("Start Test 9: linear backoff lock and condition variable single wait/notify\n");
+	{
+		T_C_L_WS1 t1[2];
+	}
+	printf("Done Test 9\n");
+
+	printf("Start Test 10: linear backoff lock and condition variable 3 wait/notify all\n");
+	{
+		T_C_L_WB1 t1[4];
+	}
+	printf("Done Test 10\n");
+
+	printf("Start Test 11: multi acquisiton lock and condition variable multiple acquire and wait/notify\n");
 	{
 		T_C_M_WS2 t1[2];
 	}
-	printf("Done Test 9\n");
-
-	printf("Start Test 10: owner lock and condition variable multiple acquire and wait/notify\n");
+	printf("Done Test 11\n");
+
+	printf("Start Test 12: owner lock and condition variable multiple acquire and wait/notify\n");
 	{
 		T_C_O_WS2 t1[2];
 	}
-	printf("Done Test 10\n");
-
-	printf("Start Test 11: no lock condition variable wait/notify\n");
+	printf("Done Test 12\n");
+
+	printf("Start Test 13: no lock condition variable wait/notify\n");
 	{
 		T_C_NLW t1;
 		T_C_NLS t2;
 	}
-	printf("Done Test 11\n");
-
-	printf("Start Test 12: locked condition variable wait/notify with front()\n");
+	printf("Done Test 13\n");
+
+	printf("Start Test 14: locked condition variable wait/notify with front()\n");
 	{
 		T_C_S_WNF t1[2];
 	}
-	printf("Done Test 12\n");
-
-	// removed to limit test duration. Full test is in long run tests
-	// printf("Start Test 11: unlocked condition variable delay wait\n");
-	// {
-	// 	T_C_NLWD t1;
-	// 	T_C_WDS t2;
-	// }
-	// printf("Done Test 11\n");
-
-	// printf("Start Test 12: locked condition variable delay wait with unlocked signal\n");
-	// {
-	// 	T_C_LWD t1;
-	// 	T_C_WDS t2;
-	// }
-	// printf("Done Test 12\n");
-
-	// printf("Start Test 13: locked condition variable delay wait with locked signal\n");
-	// {
-	// 	T_C_LWD t1;
-	// 	T_C_LWDS t2;
-	// }
-	// printf("Done Test 13\n");
-}
+	printf("Done Test 14\n");
+}
