Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision 947ab77e1138e5b43ed8d4e74ae82a491381bfec)
+++ kernel/generic/src/proc/scheduler.c	(revision 1a5fe4f3ec6a76ebd5b30f992574d843540f25cb)
@@ -54,6 +54,4 @@
 #include <atomic.h>
 #include <synch/spinlock.h>
-#include <synch/workqueue.h>
-#include <synch/rcu.h>
 #include <config.h>
 #include <context.h>
@@ -90,5 +88,4 @@
 {
 	before_thread_runs_arch();
-	rcu_before_thread_runs();
 
 #ifdef CONFIG_FPU_LAZY
@@ -131,6 +128,4 @@
 static void after_thread_ran(void)
 {
-	workq_after_thread_ran();
-	rcu_after_thread_ran();
 	after_thread_ran_arch();
 }
@@ -430,5 +425,4 @@
 
 		case Exiting:
-			rcu_thread_exiting();
 		repeat:
 			if (THREAD->detached) {
Index: kernel/generic/src/proc/the.c
===================================================================
--- kernel/generic/src/proc/the.c	(revision 947ab77e1138e5b43ed8d4e74ae82a491381bfec)
+++ kernel/generic/src/proc/the.c	(revision 1a5fe4f3ec6a76ebd5b30f992574d843540f25cb)
@@ -60,7 +60,4 @@
 	the->as = NULL;
 	the->magic = MAGIC;
-#ifdef RCU_PREEMPT_A
-	the->rcu_nesting = 0;
-#endif
 }
 
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision 947ab77e1138e5b43ed8d4e74ae82a491381bfec)
+++ kernel/generic/src/proc/thread.c	(revision 1a5fe4f3ec6a76ebd5b30f992574d843540f25cb)
@@ -48,6 +48,4 @@
 #include <synch/spinlock.h>
 #include <synch/waitq.h>
-#include <synch/workqueue.h>
-#include <synch/rcu.h>
 #include <cpu.h>
 #include <str.h>
@@ -69,4 +67,5 @@
 #include <syscall/copy.h>
 #include <errno.h>
+#include <debug.h>
 
 /** Thread states */
@@ -272,5 +271,4 @@
 {
 	assert(irq_spinlock_locked(&thread->lock));
-	workq_before_thread_is_ready(thread);
 }
 
@@ -399,6 +397,4 @@
 	thread->task = task;
 
-	thread->workq = NULL;
-
 	thread->fpu_context_exists = false;
 	thread->fpu_context_engaged = false;
@@ -414,6 +410,4 @@
 	/* Might depend on previous initialization */
 	thread_create_arch(thread);
-
-	rcu_thread_init(thread);
 
 	if ((flags & THREAD_FLAG_NOATTACH) != THREAD_FLAG_NOATTACH)
