summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-07-26 19:39:56 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-07-29 23:30:35 +0200
commit2f0c84571b89108c72ebdc3dcaccbe99f754c63a (patch)
treec08e09693c25b10147fec7ea5927dc8e382f5969 /lib
parent2c237cf3487394a46a92c002d8c15f19a8e4faf7 (diff)
downloadlwn-2f0c84571b89108c72ebdc3dcaccbe99f754c63a.tar.gz
lwn-2f0c84571b89108c72ebdc3dcaccbe99f754c63a.zip
rt: Add the preempt-rt lock replacement APIs
Map spinlocks, rwlocks, rw_semaphores and semaphores to the rt_mutex based locking functions for preempt-rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/spinlock_debug.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/spinlock_debug.c b/lib/spinlock_debug.c
index 5f41fad4d302..70b5c1c27c07 100644
--- a/lib/spinlock_debug.c
+++ b/lib/spinlock_debug.c
@@ -31,6 +31,7 @@ void __atomic_spin_lock_init(atomic_spinlock_t *lock, const char *name,
EXPORT_SYMBOL(__atomic_spin_lock_init);
+#ifndef CONFIG_PREEMPT_RT
void __rwlock_init(rwlock_t *lock, const char *name,
struct lock_class_key *key)
{
@@ -46,8 +47,8 @@ void __rwlock_init(rwlock_t *lock, const char *name,
lock->owner = SPINLOCK_OWNER_INIT;
lock->owner_cpu = -1;
}
-
EXPORT_SYMBOL(__rwlock_init);
+#endif
static void spin_bug(atomic_spinlock_t *lock, const char *msg)
{
@@ -154,6 +155,8 @@ void _raw_spin_unlock(atomic_spinlock_t *lock)
__raw_spin_unlock(&lock->raw_lock);
}
+#ifndef CONFIG_PREEMPT_RT
+
static void rwlock_bug(rwlock_t *lock, const char *msg)
{
if (!debug_locks_off())
@@ -295,3 +298,4 @@ void _raw_write_unlock(rwlock_t *lock)
debug_write_unlock(lock);
__raw_write_unlock(&lock->raw_lock);
}
+#endif