Lines Matching refs:implicit_children
132 * The locking here is pretty subtle. Ideally the implicit_children
151 struct mlx5_ib_mr *mtt = xa_load(&imr->implicit_children, idx);
212 * This must be called after the mr has been removed from implicit_children.
246 * mlx5_ib_free_odp_mr() will free everything in the implicit_children
253 xa_lock(&imr->implicit_children);
254 if (__xa_cmpxchg(&imr->implicit_children, idx, mr, NULL, GFP_KERNEL) !=
256 xa_unlock(&imr->implicit_children);
264 xa_unlock(&imr->implicit_children);
518 xa_lock(&imr->implicit_children);
519 ret = __xa_cmpxchg(&imr->implicit_children, idx, NULL, mr,
539 __xa_erase(&imr->implicit_children, idx);
544 xa_unlock(&imr->implicit_children);
549 xa_unlock(&imr->implicit_children);
636 xa_init(&imr->implicit_children);
678 xa_for_each(&mr->implicit_children, idx, mtt) {
679 xa_erase(&mr->implicit_children, idx);
771 xa_lock(&imr->implicit_children);
772 mtt = xa_load(&imr->implicit_children, idx);
774 xa_unlock(&imr->implicit_children);
784 xa_unlock(&imr->implicit_children);
806 * Any time the implicit_children are changed we must perform an
808 * implicit_children remains synchronized.
816 * the implicit_children is updated, so a parallel page fault could