Index: src/tests/sched-ext.c
===================================================================
--- src/tests/sched-ext.c	(revision e50e9ffe2229beb9e49fa8bc4a148017190a43e0)
+++ src/tests/sched-ext.c	(revision 90c4df010b647b1dd75cbb19ce37bdaa11617886)
@@ -7,5 +7,5 @@
 #include <time.h>
 
-static const unsigned long N = 2_500ul;
+static const unsigned long N = 500ul;
 
 #ifndef PREEMPTION_RATE
@@ -24,4 +24,10 @@
 thread Acceptee {};
 
+volatile bool done;
+
+unsigned rand10() {
+	return (unsigned)rand48() % 10;
+}
+
 //----------------------------------------------------------------------------------------------------
 // Acceptor
@@ -29,20 +35,28 @@
 
 void do_wait( global_t * mutex a ) {
-	sout | "Preparing to wait" | endl;
+	sout | "Waiting to accept" | endl;
+	yield( rand10() );
+
+	sout | "Accepting" | endl;
 
 	__acceptable_t acceptable;
-	acceptable.func          = (void_fptr_t)do_notify;
+	acceptable.func          = (fptr_t)do_notify;
 	acceptable.count         = 1;
 	acceptable.monitors      = &a;
 	acceptable.run_preaccept = false;
 
-	sout | "Waiting for notify" | endl;
+	__accept_internal( 1, &acceptable );
 
-	int ret = __accept_internal( 1, &acceptable );
-	sout | "Back from wating, accepted" | ret | endl;
+	sout | "Accepted" | endl;
+	yield( rand10() );
 }
 
 void main( Acceptor* this ) {
-	do_wait( &globalA );
+	for( int i = 0; i < N; i++ ) {
+		do_wait( &globalA );
+		sout | i | endl;
+	}
+
+	done = true;
 }
 
@@ -50,12 +64,13 @@
 // Acceptee
 void do_notify( global_t * mutex a ) {
-	sout | "Notifying" | endl;
+
 }
 
 void main( Acceptee* this ) {
-	for( volatile int i = 0; i < N; i++ );
-
-	sout | "Call Notify" | endl;
-	do_notify( &globalA );
+	while( !done ) {
+		yield( rand10() );
+		do_notify( &globalA );
+		yield( rand10() );
+	}
 }
 
@@ -63,9 +78,12 @@
 // Main
 int main(int argc, char* argv[]) {
-	processor p;
+	done = false;
+	rand48seed( time( NULL ) );
+	printf("%p\n", &globalA);
 	sout | "Starting" | endl;
 	{
 		Acceptor r;
-		Acceptee e;
+		Acceptee e[13];
+
 	}
 	sout | "Done" | endl;
