From 414be9451245bab037cb3b82de8b7172316a0e65 Mon Sep 17 00:00:00 2001 From: Jan Blunck Date: Fri, 3 Jul 2009 13:16:23 -0500 Subject: [PATCH] rt: Make rt_down_read_trylock() behave like down_read_trylock() commit 1a0adb9869dac631ed5d45d0afed72cfce0d9d66 in tip. This patch removes the stupid "Read locks within the self-held write lock succeed" behaviour. This is breaking in mm_take_all_locks() since it is quite common to ensure that a lock is taken with BUG_ON(down_read_trylock(&mm->mmap_sem)). Signed-off-by: Jan Blunck Signed-off-by: Thomas Gleixner Signed-off-by: Paul Gortmaker --- kernel/rt.c | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index 97709a6..d095969 100644 --- a/kernel/rt.c +++ b/kernel/rt.c @@ -380,18 +380,6 @@ int rt_down_read_trylock(struct rw_semaphore *rwsem) unsigned long flags; int ret; - /* - * Read locks within the self-held write lock succeed. - */ - spin_lock_irqsave(&rwsem->lock.wait_lock, flags); - if (rt_mutex_real_owner(&rwsem->lock) == current) { - spin_unlock_irqrestore(&rwsem->lock.wait_lock, flags); - rwsem_acquire_read(&rwsem->dep_map, 0, 1, _RET_IP_); - rwsem->read_depth++; - return 1; - } - spin_unlock_irqrestore(&rwsem->lock.wait_lock, flags); - ret = rt_mutex_trylock(&rwsem->lock); if (ret) rwsem_acquire(&rwsem->dep_map, 0, 1, _RET_IP_); -- 1.7.0.4