[RESEND, PATCH v4 1/3] mmap locking API: add mmap_lock_is_contended()

From: Chinwen Chang
Date: Sun Oct 04 2020 - 22:40:41 EST


Add new API to query if someone wants to acquire mmap_lock
for write attempts.

Using this instead of rwsem_is_contended makes it more tolerant
of future changes to the lock type.

Change-Id: Idb21478bb0580ba72b9926aba3bbc4b1f75deec2
Signed-off-by: Chinwen Chang <chinwen.chang@xxxxxxxxxxxx>
Reviewed-by: Steven Price <steven.price@xxxxxxx>
Acked-by: Michel Lespinasse <walken@xxxxxxxxxx>
---
include/linux/mmap_lock.h | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h
index 0707671..18e7eae 100644
--- a/include/linux/mmap_lock.h
+++ b/include/linux/mmap_lock.h
@@ -87,4 +87,9 @@ static inline void mmap_assert_write_locked(struct mm_struct *mm)
VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm);
}

+static inline int mmap_lock_is_contended(struct mm_struct *mm)
+{
+ return rwsem_is_contended(&mm->mmap_lock);
+}
+
#endif /* _LINUX_MMAP_LOCK_H */
--
1.9.1