Index: kernel/generic/include/arch.h
===================================================================
--- kernel/generic/include/arch.h	(revision f43d8cef17ca84bb86ea598fe7053f90fc5d9fa0)
+++ kernel/generic/include/arch.h	(revision b076dfbb9aa63d562c009d67d8e9dd2d06e4b795)
@@ -75,4 +75,5 @@
 typedef struct {
 	size_t preemption;      /**< Preemption disabled counter and flag. */
+	size_t mutex_locks;
 	struct thread *thread;  /**< Current thread. */
 	struct task *task;      /**< Current task. */
Index: kernel/generic/include/synch/spinlock.h
===================================================================
--- kernel/generic/include/synch/spinlock.h	(revision f43d8cef17ca84bb86ea598fe7053f90fc5d9fa0)
+++ kernel/generic/include/synch/spinlock.h	(revision b076dfbb9aa63d562c009d67d8e9dd2d06e4b795)
@@ -124,7 +124,10 @@
 
 typedef struct {
-	spinlock_t lock;         /**< Spinlock */
-	bool guard;              /**< Flag whether ipl is valid */
-	ipl_t ipl;               /**< Original interrupt level */
+	spinlock_t lock;              /**< Spinlock */
+	bool guard;                   /**< Flag whether ipl is valid */
+	ipl_t ipl;                    /**< Original interrupt level */
+#ifdef CONFIG_DEBUG_SPINLOCK
+	_Atomic(struct cpu *) owner;  /**< Which cpu currently owns this lock */
+#endif
 } irq_spinlock_t;
 
