Index: libcfa/src/concurrency/alarm.cfa
===================================================================
--- libcfa/src/concurrency/alarm.cfa	(revision 8e85344e35e82eea5a17404d64c0708ddab9c392)
+++ libcfa/src/concurrency/alarm.cfa	(revision c9ec3017897316e3c912db439768ec9863539988)
@@ -15,4 +15,5 @@
 
 #define __cforall_thread__
+// #define __CFA_DEBUG_PRINT_PREEMPTION__
 
 #include <errno.h>
@@ -107,4 +108,5 @@
 		bool first = ! & alarms`first;
 
+		__cfadbg_print_safe( preemption, " KERNEL: alarm inserting %p (%lu).\n", this, this->alarm.tn );
 		insert( &alarms, this );
 		if( first ) {
Index: libcfa/src/concurrency/preemption.cfa
===================================================================
--- libcfa/src/concurrency/preemption.cfa	(revision 8e85344e35e82eea5a17404d64c0708ddab9c392)
+++ libcfa/src/concurrency/preemption.cfa	(revision c9ec3017897316e3c912db439768ec9863539988)
@@ -117,5 +117,5 @@
 	//Loop throught every thing expired
 	while( node = get_expired( alarms, currtime ) ) {
-		// __cfaabi_dbg_print_buffer_decl( " KERNEL: preemption tick.\n" );
+		__cfadbg_print_buffer_decl( preemption, " KERNEL: preemption tick %lu\n", currtime.tn);
 		Duration period = node->period;
 		if( period == 0) {
@@ -123,4 +123,7 @@
 		}
 
+		__cfadbg_print_buffer_local( preemption, " KERNEL: alarm ticking node %p.\n", node );
+
+
 		// Check if this is a kernel
 		if( node->type == Kernel ) {
@@ -128,4 +131,5 @@
 		}
 		else if( node->type == User ) {
+			__cfadbg_print_buffer_local( preemption, " KERNEL: alarm unparking %p.\n", node->thrd );
 			timeout( node->thrd );
 		}
@@ -136,5 +140,5 @@
 		// Check if this is a periodic alarm
 		if( period > 0 ) {
-			// __cfaabi_dbg_print_buffer_local( " KERNEL: alarm period is %lu.\n", period.tv );
+			__cfadbg_print_buffer_local( preemption, " KERNEL: alarm period is %lu.\n", period`ns );
 			node->alarm = currtime + period;    // Alarm is periodic, add currtime to it (used cached current time)
 			insert( alarms, node );             // Reinsert the node for the next time it triggers
@@ -712,13 +716,7 @@
 static void * alarm_loop( __attribute__((unused)) void * args ) {
 	__processor_id_t id;
-	id.full_proc = false;
 	id.id = doregister(&id);
 	__cfaabi_tls.this_proc_id = &id;
 
-	#if !defined(__CFA_NO_STATISTICS__)
-		struct __stats_t local_stats;
-		__cfaabi_tls.this_stats = &local_stats;
-		__init_stats( &local_stats );
-	#endif
 
 	// Block sigalrms to control when they arrive
@@ -781,9 +779,9 @@
 	unregister(&id);
 
-	#if !defined(__CFA_NO_STATISTICS__)
-		if( 0 != __print_alarm_stats ) {
-			__print_stats( &local_stats, __print_alarm_stats, "Alarm", "Thread", 0p );
-		}
-	#endif
+	// #if !defined(__CFA_NO_STATISTICS__)
+	// 	if( 0 != __print_alarm_stats ) {
+	// 		__print_stats( &local_stats, __print_alarm_stats, "Alarm", "Thread", 0p );
+	// 	}
+	// #endif
 	return 0p;
 }
