Messages in this thread | | | Date | Wed, 31 May 2017 08:40:10 -0700 | From | Davidlohr Bueso <> | Subject | Re: [RFC v2 01/10] mm: Deactivate mmap_sem assert |
| |
Hi Laurent!
On Wed, 24 May 2017, Laurent Dufour wrote:
>When mmap_sem will be moved to a range lock, some assertion done in >the code will have to be reviewed to work with the range locking as >well. > >This patch disables these assertions for the moment but it has be >reviewed later once the range locking API will provide the dedicated >services.
Lets not do this; we should _at least_ provide the current checks we already have. The following should be a (slower) equivalent once we have the interval_tree_iter_first() optimization sorted out.
int range_is_locked(struct range_lock_tree *tree, struct range_lock *lock) { unsigned long flags; struct interval_tree_node *node;
spin_lock_irqsave(&tree->lock, flags); node = interval_tree_iter_first(&tree->root, lock->node.start, lock->node.last); spin_unlock_irqrestore(&tree->lock, flags);
return node != NULL; } EXPORT_SYMBOL_GPL(range_is_locked);
Thanks, Davidlohr
| |