--- linux-2.6.24/include/linux/rtmutex.h 2008-02-25 15:32:05.000000000 -0800 +++ linux-2.6.24.working/include/linux/rtmutex.h 2008-03-04 01:01:06.000000000 -0800 @@ -85,14 +85,15 @@ extern void __rt_mutex_init(struct rt_mutex *lock, const char *name); extern void rt_mutex_destroy(struct rt_mutex *lock); -extern void rt_mutex_lock(struct rt_mutex *lock); +extern void rt_mutex_lock(struct rt_mutex *lock __LOCKDEP_DECLS); extern int rt_mutex_lock_interruptible(struct rt_mutex *lock, - int detect_deadlock); + int detect_deadlock __LOCKDEP_DECLS); extern int rt_mutex_timed_lock(struct rt_mutex *lock, struct hrtimer_sleeper *timeout, int detect_deadlock); extern int rt_mutex_trylock(struct rt_mutex *lock); +extern int __rt_mutex_trylock(struct rt_mutex *lock __LOCKDEP_DECLS); extern void rt_mutex_unlock(struct rt_mutex *lock); --- linux-2.6.24/include/linux/sched.h 2008-02-25 15:32:05.000000000 -0800 +++ linux-2.6.24.working/include/linux/sched.h 2008-03-13 00:40:02.000000000 -0700 @@ -2093,10 +2093,17 @@ extern void signal_wake_up(struct task_struct *t, int resume_stopped); /* + * lockstat support + */ +extern int task_spinnable(struct task_struct *p); + +/* * Wrappers for p->thread_info->cpu access. No-op on UP. */ #ifdef CONFIG_SMP +extern atomic_t cpu_range_error; + static inline unsigned int task_cpu(const struct task_struct *p) { return task_thread_info(p)->cpu; --- linux-2.6.24/include/linux/spinlock.h 2008-02-25 15:32:05.000000000 -0800 +++ linux-2.6.24.working/include/linux/spinlock.h 2008-03-03 14:01:48.000000000 -0800 @@ -169,7 +169,7 @@ * lockdep-less calls, for derived types like rwlock: * (for trylock they can use rt_mutex_trylock() directly. */ -extern void __lockfunc __rt_spin_lock(struct rt_mutex *lock); +extern void __lockfunc __rt_spin_lock(struct rt_mutex *lock __LOCKDEP_DECLS); extern void __lockfunc __rt_spin_unlock(struct rt_mutex *lock); #ifdef CONFIG_PREEMPT_RT