per_mm 80 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm = per_mm 84 drivers/infiniband/core/umem_odp.c down_read(&per_mm->umem_rwsem); per_mm 85 drivers/infiniband/core/umem_odp.c if (!per_mm->mn.users) per_mm 88 drivers/infiniband/core/umem_odp.c for (node = rb_first_cached(&per_mm->umem_tree); node; per_mm 105 drivers/infiniband/core/umem_odp.c up_read(&per_mm->umem_rwsem); per_mm 119 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm = per_mm 124 drivers/infiniband/core/umem_odp.c down_read(&per_mm->umem_rwsem); per_mm 125 drivers/infiniband/core/umem_odp.c else if (!down_read_trylock(&per_mm->umem_rwsem)) per_mm 128 drivers/infiniband/core/umem_odp.c if (!per_mm->mn.users) { per_mm 129 drivers/infiniband/core/umem_odp.c up_read(&per_mm->umem_rwsem); per_mm 138 drivers/infiniband/core/umem_odp.c rc = rbt_ib_umem_for_each_in_range(&per_mm->umem_tree, range->start, per_mm 144 drivers/infiniband/core/umem_odp.c up_read(&per_mm->umem_rwsem); per_mm 158 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm = per_mm 161 drivers/infiniband/core/umem_odp.c if (unlikely(!per_mm->mn.users)) per_mm 164 drivers/infiniband/core/umem_odp.c rbt_ib_umem_for_each_in_range(&per_mm->umem_tree, range->start, per_mm 167 drivers/infiniband/core/umem_odp.c up_read(&per_mm->umem_rwsem); per_mm 172 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm; per_mm 174 drivers/infiniband/core/umem_odp.c per_mm = kzalloc(sizeof(*per_mm), GFP_KERNEL); per_mm 175 drivers/infiniband/core/umem_odp.c if (!per_mm) per_mm 178 drivers/infiniband/core/umem_odp.c per_mm->umem_tree = RB_ROOT_CACHED; per_mm 179 drivers/infiniband/core/umem_odp.c init_rwsem(&per_mm->umem_rwsem); per_mm 183 drivers/infiniband/core/umem_odp.c per_mm->tgid = get_task_pid(current->group_leader, PIDTYPE_PID); per_mm 185 drivers/infiniband/core/umem_odp.c return &per_mm->mn; per_mm 190 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm = per_mm 193 drivers/infiniband/core/umem_odp.c WARN_ON(!RB_EMPTY_ROOT(&per_mm->umem_tree.rb_root)); per_mm 195 drivers/infiniband/core/umem_odp.c put_pid(per_mm->tgid); per_mm 196 drivers/infiniband/core/umem_odp.c kfree(per_mm); per_mm 209 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm; per_mm 260 drivers/infiniband/core/umem_odp.c umem_odp->per_mm = per_mm = per_mm 267 drivers/infiniband/core/umem_odp.c down_write(&per_mm->umem_rwsem); per_mm 269 drivers/infiniband/core/umem_odp.c &per_mm->umem_tree); per_mm 270 drivers/infiniband/core/umem_odp.c up_write(&per_mm->umem_rwsem); per_mm 445 drivers/infiniband/core/umem_odp.c struct ib_ucontext_per_mm *per_mm = umem_odp->per_mm; per_mm 462 drivers/infiniband/core/umem_odp.c down_write(&per_mm->umem_rwsem); per_mm 465 drivers/infiniband/core/umem_odp.c &per_mm->umem_tree); per_mm 476 drivers/infiniband/core/umem_odp.c mmu_notifier_put(&per_mm->mn); per_mm 477 drivers/infiniband/core/umem_odp.c up_write(&per_mm->umem_rwsem); per_mm 621 drivers/infiniband/core/umem_odp.c owning_process = get_pid_task(umem_odp->per_mm->tgid, PIDTYPE_PID); per_mm 109 drivers/infiniband/hw/mlx5/odp.c return to_ib_umem_odp(mr->umem)->per_mm; per_mm 115 drivers/infiniband/hw/mlx5/odp.c struct ib_ucontext_per_mm *per_mm = odp->per_mm; per_mm 118 drivers/infiniband/hw/mlx5/odp.c down_read(&per_mm->umem_rwsem); per_mm 130 drivers/infiniband/hw/mlx5/odp.c up_read(&per_mm->umem_rwsem); per_mm 137 drivers/infiniband/hw/mlx5/odp.c struct ib_ucontext_per_mm *per_mm = mr_to_per_mm(parent); per_mm 141 drivers/infiniband/hw/mlx5/odp.c down_read(&per_mm->umem_rwsem); per_mm 142 drivers/infiniband/hw/mlx5/odp.c odp = rbt_ib_umem_lookup(&per_mm->umem_tree, start, length); per_mm 159 drivers/infiniband/hw/mlx5/odp.c up_read(&per_mm->umem_rwsem); per_mm 577 drivers/infiniband/hw/mlx5/odp.c struct ib_ucontext_per_mm *per_mm = mr_to_per_mm(imr); per_mm 580 drivers/infiniband/hw/mlx5/odp.c down_read(&per_mm->umem_rwsem); per_mm 581 drivers/infiniband/hw/mlx5/odp.c for (node = rb_first_cached(&per_mm->umem_tree); node; per_mm 604 drivers/infiniband/hw/mlx5/odp.c up_read(&per_mm->umem_rwsem); per_mm 42 include/rdma/ib_umem_odp.h struct ib_ucontext_per_mm *per_mm;