On Tue, 14 Apr 2020, Michel Lespinasse wrote:
This change wraps the existing mmap_sem related rwsem calls into a new mmap locking API. There are two justifications for the new API: - At first, it provides an easy hooking point to instrument mmap_sem locking latencies independently of any other rwsems. - In the future, it may be a starting point for replacing the rwsem implementation with a different one, such as range locks. Signed-off-by: Michel Lespinasse <walken@xxxxxxxxxx> Reviewed-by: Daniel Jordan <daniel.m.jordan@xxxxxxxxxx>
Reviewed-by: Davidlohr Bueso <dbueso@xxxxxxx> With one observation below.
+static inline void mmap_downgrade_write_lock(struct mm_struct *mm) +{ + downgrade_write(&mm->mmap_sem); +}
Shouldn't this really be just mmap_downgrade_write()? In locking normally don't add the _lock at the end as it implies the operation of acquiring the lock. Thanks, Davidlohr