]> Pileus Git - ~andy/linux/blobdiff - include/linux/rwsem.h
Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[~andy/linux] / include / linux / rwsem.h
index 0616ffe45702f0c28fd20390ec9b8574c543032b..03f3b05e8ec17dda4d7b8dcefcc1e723bc6e606c 100644 (file)
@@ -74,6 +74,17 @@ do {                                                         \
        __init_rwsem((sem), #sem, &__key);                      \
 } while (0)
 
+/*
+ * This is the same regardless of which rwsem implementation that is being used.
+ * It is just a heuristic meant to be called by somebody alreadying holding the
+ * rwsem to see if somebody from an incompatible type is wanting access to the
+ * lock.
+ */
+static inline int rwsem_is_contended(struct rw_semaphore *sem)
+{
+       return !list_empty(&sem->wait_list);
+}
+
 /*
  * lock for reading
  */