On Wed, Feb 20, 2019 at 04:20:35PM -0800, Matthew Wilcox wrote: > I intend to remove the IDR and the radix tree interfaces from Linux. > Converting each user from either the IDR or radix tree interface varies > from the trivial 1:1 replacement to a complete rewrite of the locking. > Despite the best efforts of our automated testers (who have caught many > of my mistakes), I cannot claim that my conversions of code are free > from bugs. > > Please check these patches over carefully and test them; there may be > off-by-one errors, locking mistakes, or various other failures on my part. RDMA Driver Maintainers: I read through these and the driver changes look reasonable. Please review and ack. If I hear no objection I will likely apply Matt's patches for drivers around rc3/4 Thanks Jason > drivers/infiniband/core/cm.c | 40 +--- > drivers/infiniband/core/cma.c | 44 +--- > drivers/infiniband/core/mad.c | 39 +--- > drivers/infiniband/core/rdma_core.c | 78 +------- > drivers/infiniband/core/rdma_core.h | 8 > drivers/infiniband/core/sa_query.c | 43 +--- > drivers/infiniband/core/ucm.c | 34 +-- > drivers/infiniband/core/ucma.c | 82 +++------ > drivers/infiniband/core/uverbs.h | 4 > drivers/infiniband/core/uverbs_ioctl.c | 67 +------ > drivers/infiniband/core/uverbs_uapi.c | 191 +++++++++------------ > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 > drivers/infiniband/hw/cxgb3/iwch.c | 53 ++--- > drivers/infiniband/hw/cxgb3/iwch.h | 38 ---- > drivers/infiniband/hw/cxgb3/iwch_ev.c | 18 - > drivers/infiniband/hw/cxgb3/iwch_mem.c | 2 > drivers/infiniband/hw/cxgb3/iwch_provider.c | 16 - > drivers/infiniband/hw/cxgb4/cm.c | 67 ++++--- > drivers/infiniband/hw/cxgb4/cq.c | 6 > drivers/infiniband/hw/cxgb4/device.c | 217 ++++++++++-------------- > drivers/infiniband/hw/cxgb4/ev.c | 18 - > drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 77 -------- > drivers/infiniband/hw/cxgb4/mem.c | 16 - > drivers/infiniband/hw/cxgb4/qp.c | 33 +-- > drivers/infiniband/hw/hfi1/chip.c | 16 - > drivers/infiniband/hw/hfi1/debugfs.c | 8 > drivers/infiniband/hw/hfi1/driver.c | 10 - > drivers/infiniband/hw/hfi1/hfi.h | 8 > drivers/infiniband/hw/hfi1/init.c | 51 ----- > drivers/infiniband/hw/hfi1/verbs.c | 8 > drivers/infiniband/hw/hfi1/vnic_main.c | 15 - > drivers/infiniband/hw/hns/hns_roce_cq.c | 33 +-- > drivers/infiniband/hw/hns/hns_roce_device.h | 9 > drivers/infiniband/hw/hns/hns_roce_qp.c | 51 +---- > drivers/infiniband/hw/mlx4/cm.c | 36 +-- > drivers/infiniband/hw/mlx4/cq.c | 2 > drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 > drivers/infiniband/hw/mlx5/cq.c | 4 > drivers/infiniband/hw/mlx5/mr.c | 10 - > drivers/infiniband/hw/mlx5/srq.h | 5 > drivers/infiniband/hw/mlx5/srq_cmd.c | 27 -- > drivers/infiniband/hw/ocrdma/ocrdma_main.c | 16 - > drivers/infiniband/hw/qedr/main.c | 10 - > drivers/infiniband/hw/qedr/qedr.h | 11 - > drivers/infiniband/hw/qedr/qedr_iw_cm.c | 10 - > drivers/infiniband/hw/qedr/verbs.c | 36 --- > drivers/infiniband/hw/qib/qib.h | 4 > drivers/infiniband/hw/qib/qib_driver.c | 20 -- > drivers/infiniband/hw/qib/qib_fs.c | 12 - > drivers/infiniband/hw/qib/qib_iba7322.c | 4 > drivers/infiniband/hw/qib/qib_init.c | 55 +----- > drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 60 ++---- > 52 files changed, 633 insertions(+), 1096 deletions(-)