summaryrefslogtreecommitdiff
path: root/include/linux/rwsem-spinlock.h
diff options
context:
space:
mode:
authorRik Van Riel <riel@redhat.com>2005-10-30 04:15:44 +0300
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 07:40:35 +0300
commiteb92f4ef320b738e41ad43476a5d05c8a20d5cc7 (patch)
treef9a6bb78a0561587f142b2b1208819f6cffe9835 /include/linux/rwsem-spinlock.h
parent63f324cf0792ed69089b79d6921ba3aaea97af50 (diff)
downloadlinux-eb92f4ef320b738e41ad43476a5d05c8a20d5cc7.tar.xz
[PATCH] add sem_is_read/write_locked()
Add sem_is_read/write_locked functions to the read/write semaphores, along the same lines of the *_is_locked spinlock functions. The swap token tuning patch uses sem_is_read_locked; sem_is_write_locked is added for completeness. Signed-off-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/rwsem-spinlock.h')
-rw-r--r--include/linux/rwsem-spinlock.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/rwsem-spinlock.h b/include/linux/rwsem-spinlock.h
index b52a2af25f1f..f30f805080ae 100644
--- a/include/linux/rwsem-spinlock.h
+++ b/include/linux/rwsem-spinlock.h
@@ -61,5 +61,10 @@ extern void FASTCALL(__up_read(struct rw_semaphore *sem));
extern void FASTCALL(__up_write(struct rw_semaphore *sem));
extern void FASTCALL(__downgrade_write(struct rw_semaphore *sem));
+static inline int rwsem_is_locked(struct rw_semaphore *sem)
+{
+ return (sem->activity != 0);
+}
+
#endif /* __KERNEL__ */
#endif /* _LINUX_RWSEM_SPINLOCK_H */