[PATCH rdma-next 0/9] Get rid of ucontext->tgid from ODP umem flows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Leon Romanovsky <leonro@xxxxxxxxxxxx>

>From Jason,

Restricting ODP to use only a single process and mm doesn't really make
any sense, the data structure work to fix that is fairly straightforward
and allows ODP to also stop using tgid as well.

This series also cleans up a few things in the ODP code along the way
to make it easier to make the datastructure change, and fixes a bunch
of locking race conditions and other mistakes that syzkaller and lockdep
finds in this code.

Thanks

Jason Gunthorpe (9):
  RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP
  RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem
  RDMA/umem: Get rid of struct ib_umem.odp_data
  RDMA/umem: Move all the ODP related stuff out of ucontext and into
    per_mm
  RDMA/umem: Use umem->owning_mm inside ODP
  RDMA/umem: Get rid of per_mm->notifier_count
  RDMA/umem: Handle a half-complete start/end sequence
  RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path
  RDMA/uverbs: Get rid of ucontext->tgid

 drivers/infiniband/core/rdma_core.c  |   1 -
 drivers/infiniband/core/umem.c       |  42 ++-
 drivers/infiniband/core/umem_odp.c   | 615 ++++++++++++++++-------------------
 drivers/infiniband/core/uverbs_cmd.c |  11 +-
 drivers/infiniband/hw/mlx5/main.c    |   7 +
 drivers/infiniband/hw/mlx5/mem.c     |   9 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h |   2 +-
 drivers/infiniband/hw/mlx5/mr.c      |  12 +-
 drivers/infiniband/hw/mlx5/odp.c     | 123 +++----
 include/rdma/ib_umem.h               |   6 +-
 include/rdma/ib_umem_odp.h           |  75 +++--
 include/rdma/ib_verbs.h              |  19 +-
 12 files changed, 448 insertions(+), 474 deletions(-)

--
2.14.4




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux