Message ID | 20190226124504.6862-1-shamir.rabinovitch@oracle.com (mailing list archive) |
---|---|
Headers | show |
Series | IB/{hw,sw}: remove 'uobject->context' dependency APIs | expand |
On Tue, Feb 26, 2019 at 02:44:52PM +0200, Shamir Rabinovitch wrote: > This patch set continue the cleanup started with prior series. This > patch set clean the ib_xxx destroy APIs because those APIs do have > ib_udata. > > The final goal of this cleanup is to remove the dependency in the IB > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > objects. > > This series also remove ib_ucontext from functions signature where > ib_udata is available. > > Shamir Rabinovitch (5): > IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl > paths > IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path > IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path > IB:{core,hw}: remove 'uobject->context' dependency in object destroy > APIs > IB/{core,hw,sw}: pass only ib_udata in function prototypes > > drivers/infiniband/core/cq.c | 21 ++- > drivers/infiniband/core/rdma_core.c | 112 ++++++------- > drivers/infiniband/core/rdma_core.h | 8 +- > drivers/infiniband/core/uverbs.h | 3 +- > drivers/infiniband/core/uverbs_cmd.c | 77 +++++---- > drivers/infiniband/core/uverbs_ioctl.c | 22 ++- > drivers/infiniband/core/uverbs_std_types.c | 52 +++--- > .../core/uverbs_std_types_counters.c | 3 +- > drivers/infiniband/core/uverbs_std_types_cq.c | 10 +- > drivers/infiniband/core/uverbs_std_types_dm.c | 5 +- > .../core/uverbs_std_types_flow_action.c | 3 +- > drivers/infiniband/core/uverbs_std_types_mr.c | 8 +- > drivers/infiniband/core/verbs.c | 84 +++++----- > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 40 ++--- > drivers/infiniband/hw/bnxt_re/ib_verbs.h | 18 +- > drivers/infiniband/hw/cxgb3/iwch_provider.c | 48 +++--- > drivers/infiniband/hw/cxgb4/cq.c | 20 ++- > drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 12 +- > drivers/infiniband/hw/cxgb4/mem.c | 5 +- > drivers/infiniband/hw/cxgb4/provider.c | 9 +- > drivers/infiniband/hw/cxgb4/qp.c | 8 +- > drivers/infiniband/hw/hns/hns_roce_ah.c | 2 +- > drivers/infiniband/hw/hns/hns_roce_cq.c | 33 ++-- > drivers/infiniband/hw/hns/hns_roce_device.h | 14 +- > drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 7 +- > drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 2 +- > drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 22 +-- > drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- > drivers/infiniband/hw/hns/hns_roce_pd.c | 7 +- > drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +- > drivers/infiniband/hw/i40iw/i40iw_cm.c | 3 +- > drivers/infiniband/hw/i40iw/i40iw_verbs.c | 49 +++--- > drivers/infiniband/hw/mlx4/ah.c | 2 +- > drivers/infiniband/hw/mlx4/cq.c | 39 +++-- > drivers/infiniband/hw/mlx4/doorbell.c | 9 +- > drivers/infiniband/hw/mlx4/mad.c | 10 +- > drivers/infiniband/hw/mlx4/main.c | 10 +- > drivers/infiniband/hw/mlx4/mlx4_ib.h | 19 +-- > drivers/infiniband/hw/mlx4/mr.c | 5 +- > drivers/infiniband/hw/mlx4/qp.c | 38 +++-- > drivers/infiniband/hw/mlx4/srq.c | 14 +- > drivers/infiniband/hw/mlx5/ah.c | 2 +- > drivers/infiniband/hw/mlx5/cq.c | 51 +++--- > drivers/infiniband/hw/mlx5/devx.c | 6 +- > drivers/infiniband/hw/mlx5/flow.c | 3 +- > drivers/infiniband/hw/mlx5/main.c | 55 ++++--- > drivers/infiniband/hw/mlx5/mlx5_ib.h | 23 ++- > drivers/infiniband/hw/mlx5/mr.c | 5 +- > drivers/infiniband/hw/mlx5/qp.c | 41 +++-- > drivers/infiniband/hw/mlx5/srq.c | 21 ++- > drivers/infiniband/hw/mthca/mthca_provider.c | 102 +++++++----- > drivers/infiniband/hw/nes/nes_cm.c | 3 +- > drivers/infiniband/hw/nes/nes_verbs.c | 68 +++++--- > drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 2 +- > drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +- > drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 75 ++++++--- > drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 17 +- > drivers/infiniband/hw/qedr/verbs.c | 49 +++--- > drivers/infiniband/hw/qedr/verbs.h | 18 +- > drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 20 ++- > drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 12 +- > drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 20 ++- > drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 4 +- > drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 3 +- > drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 5 +- > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 23 ++- > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 18 +- > drivers/infiniband/sw/rdmavt/ah.c | 4 +- > drivers/infiniband/sw/rdmavt/ah.h | 3 +- > drivers/infiniband/sw/rdmavt/cq.c | 7 +- > drivers/infiniband/sw/rdmavt/cq.h | 3 +- > drivers/infiniband/sw/rdmavt/mmap.c | 14 +- > drivers/infiniband/sw/rdmavt/mmap.h | 2 +- > drivers/infiniband/sw/rdmavt/mr.c | 5 +- > drivers/infiniband/sw/rdmavt/mr.h | 5 +- > drivers/infiniband/sw/rdmavt/pd.c | 7 +- > drivers/infiniband/sw/rdmavt/pd.h | 5 +- > drivers/infiniband/sw/rdmavt/qp.c | 7 +- > drivers/infiniband/sw/rdmavt/qp.h | 2 +- > drivers/infiniband/sw/rdmavt/srq.c | 7 +- > drivers/infiniband/sw/rdmavt/srq.h | 2 +- > drivers/infiniband/sw/rxe/rxe_cq.c | 10 +- > drivers/infiniband/sw/rxe/rxe_loc.h | 12 +- > drivers/infiniband/sw/rxe/rxe_mmap.c | 12 +- > drivers/infiniband/sw/rxe/rxe_qp.c | 14 +- > drivers/infiniband/sw/rxe/rxe_queue.c | 8 +- > drivers/infiniband/sw/rxe/rxe_queue.h | 4 +- > drivers/infiniband/sw/rxe/rxe_srq.c | 12 +- > drivers/infiniband/sw/rxe/rxe_verbs.c | 29 ++-- > include/rdma/ib_verbs.h | 154 +++++++++++++----- > include/rdma/uverbs_std_types.h | 44 ++--- > include/rdma/uverbs_types.h | 18 +- > 92 files changed, 1084 insertions(+), 813 deletions(-) > > -- > 2.20.1 > Jason, maybe you did not see it because I did not add your mail. Do you want me to re-base on wip/jgg-for-next again and re-send? Thanks
On Wed, Mar 06, 2019 at 11:18:27AM +0200, Shamir Rabinovitch wrote: > On Tue, Feb 26, 2019 at 02:44:52PM +0200, Shamir Rabinovitch wrote: > > This patch set continue the cleanup started with prior series. This > > patch set clean the ib_xxx destroy APIs because those APIs do have > > ib_udata. > > > > The final goal of this cleanup is to remove the dependency in the IB > > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > > objects. > > > > This series also remove ib_ucontext from functions signature where > > ib_udata is available. > > > > Shamir Rabinovitch (5): > > IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl > > paths > > IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path > > IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path > > IB:{core,hw}: remove 'uobject->context' dependency in object destroy > > APIs > > IB/{core,hw,sw}: pass only ib_udata in function prototypes > > > > drivers/infiniband/core/cq.c | 21 ++- > > drivers/infiniband/core/rdma_core.c | 112 ++++++------- > > drivers/infiniband/core/rdma_core.h | 8 +- > > drivers/infiniband/core/uverbs.h | 3 +- > > drivers/infiniband/core/uverbs_cmd.c | 77 +++++---- > > drivers/infiniband/core/uverbs_ioctl.c | 22 ++- > > drivers/infiniband/core/uverbs_std_types.c | 52 +++--- > > .../core/uverbs_std_types_counters.c | 3 +- > > drivers/infiniband/core/uverbs_std_types_cq.c | 10 +- > > drivers/infiniband/core/uverbs_std_types_dm.c | 5 +- > > .../core/uverbs_std_types_flow_action.c | 3 +- > > drivers/infiniband/core/uverbs_std_types_mr.c | 8 +- > > drivers/infiniband/core/verbs.c | 84 +++++----- > > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 40 ++--- > > drivers/infiniband/hw/bnxt_re/ib_verbs.h | 18 +- > > drivers/infiniband/hw/cxgb3/iwch_provider.c | 48 +++--- > > drivers/infiniband/hw/cxgb4/cq.c | 20 ++- > > drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 12 +- > > drivers/infiniband/hw/cxgb4/mem.c | 5 +- > > drivers/infiniband/hw/cxgb4/provider.c | 9 +- > > drivers/infiniband/hw/cxgb4/qp.c | 8 +- > > drivers/infiniband/hw/hns/hns_roce_ah.c | 2 +- > > drivers/infiniband/hw/hns/hns_roce_cq.c | 33 ++-- > > drivers/infiniband/hw/hns/hns_roce_device.h | 14 +- > > drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 7 +- > > drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 2 +- > > drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 22 +-- > > drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- > > drivers/infiniband/hw/hns/hns_roce_pd.c | 7 +- > > drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +- > > drivers/infiniband/hw/i40iw/i40iw_cm.c | 3 +- > > drivers/infiniband/hw/i40iw/i40iw_verbs.c | 49 +++--- > > drivers/infiniband/hw/mlx4/ah.c | 2 +- > > drivers/infiniband/hw/mlx4/cq.c | 39 +++-- > > drivers/infiniband/hw/mlx4/doorbell.c | 9 +- > > drivers/infiniband/hw/mlx4/mad.c | 10 +- > > drivers/infiniband/hw/mlx4/main.c | 10 +- > > drivers/infiniband/hw/mlx4/mlx4_ib.h | 19 +-- > > drivers/infiniband/hw/mlx4/mr.c | 5 +- > > drivers/infiniband/hw/mlx4/qp.c | 38 +++-- > > drivers/infiniband/hw/mlx4/srq.c | 14 +- > > drivers/infiniband/hw/mlx5/ah.c | 2 +- > > drivers/infiniband/hw/mlx5/cq.c | 51 +++--- > > drivers/infiniband/hw/mlx5/devx.c | 6 +- > > drivers/infiniband/hw/mlx5/flow.c | 3 +- > > drivers/infiniband/hw/mlx5/main.c | 55 ++++--- > > drivers/infiniband/hw/mlx5/mlx5_ib.h | 23 ++- > > drivers/infiniband/hw/mlx5/mr.c | 5 +- > > drivers/infiniband/hw/mlx5/qp.c | 41 +++-- > > drivers/infiniband/hw/mlx5/srq.c | 21 ++- > > drivers/infiniband/hw/mthca/mthca_provider.c | 102 +++++++----- > > drivers/infiniband/hw/nes/nes_cm.c | 3 +- > > drivers/infiniband/hw/nes/nes_verbs.c | 68 +++++--- > > drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 2 +- > > drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +- > > drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 75 ++++++--- > > drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 17 +- > > drivers/infiniband/hw/qedr/verbs.c | 49 +++--- > > drivers/infiniband/hw/qedr/verbs.h | 18 +- > > drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 20 ++- > > drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 12 +- > > drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 20 ++- > > drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 4 +- > > drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 3 +- > > drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 5 +- > > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 23 ++- > > .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 18 +- > > drivers/infiniband/sw/rdmavt/ah.c | 4 +- > > drivers/infiniband/sw/rdmavt/ah.h | 3 +- > > drivers/infiniband/sw/rdmavt/cq.c | 7 +- > > drivers/infiniband/sw/rdmavt/cq.h | 3 +- > > drivers/infiniband/sw/rdmavt/mmap.c | 14 +- > > drivers/infiniband/sw/rdmavt/mmap.h | 2 +- > > drivers/infiniband/sw/rdmavt/mr.c | 5 +- > > drivers/infiniband/sw/rdmavt/mr.h | 5 +- > > drivers/infiniband/sw/rdmavt/pd.c | 7 +- > > drivers/infiniband/sw/rdmavt/pd.h | 5 +- > > drivers/infiniband/sw/rdmavt/qp.c | 7 +- > > drivers/infiniband/sw/rdmavt/qp.h | 2 +- > > drivers/infiniband/sw/rdmavt/srq.c | 7 +- > > drivers/infiniband/sw/rdmavt/srq.h | 2 +- > > drivers/infiniband/sw/rxe/rxe_cq.c | 10 +- > > drivers/infiniband/sw/rxe/rxe_loc.h | 12 +- > > drivers/infiniband/sw/rxe/rxe_mmap.c | 12 +- > > drivers/infiniband/sw/rxe/rxe_qp.c | 14 +- > > drivers/infiniband/sw/rxe/rxe_queue.c | 8 +- > > drivers/infiniband/sw/rxe/rxe_queue.h | 4 +- > > drivers/infiniband/sw/rxe/rxe_srq.c | 12 +- > > drivers/infiniband/sw/rxe/rxe_verbs.c | 29 ++-- > > include/rdma/ib_verbs.h | 154 +++++++++++++----- > > include/rdma/uverbs_std_types.h | 44 ++--- > > include/rdma/uverbs_types.h | 18 +- > > 92 files changed, 1084 insertions(+), 813 deletions(-) > > > > Jason, maybe you did not see it because I did not add your mail. > Do you want me to re-base on wip/jgg-for-next again and re-send? We are at the merge window, so this will need to be rebased onto 5.1-rc1 in two weeks Jason
On Tue, Feb 26, 2019 at 02:44:52PM +0200, Shamir Rabinovitch wrote: > This patch set continue the cleanup started with prior series. This > patch set clean the ib_xxx destroy APIs because those APIs do have > ib_udata. > > The final goal of this cleanup is to remove the dependency in the IB > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > objects. > > This series also remove ib_ucontext from functions signature where > ib_udata is available. > > Shamir Rabinovitch (5): > IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl > paths > IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path > IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path > IB:{core,hw}: remove 'uobject->context' dependency in object destroy > APIs > IB/{core,hw,sw}: pass only ib_udata in function prototypes I was going to look at this today, but it doesn't apply and doesn't compile on the latest tree.. Please rebase it.. Jason
On Thu, Mar 07, 2019 at 08:52:02AM -0400, Jason Gunthorpe wrote: > On Tue, Feb 26, 2019 at 02:44:52PM +0200, Shamir Rabinovitch wrote: > > This patch set continue the cleanup started with prior series. This > > patch set clean the ib_xxx destroy APIs because those APIs do have > > ib_udata. > > > > The final goal of this cleanup is to remove the dependency in the IB > > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > > objects. > > > > This series also remove ib_ucontext from functions signature where > > ib_udata is available. > > > > Shamir Rabinovitch (5): > > IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl > > paths > > IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path > > IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path > > IB:{core,hw}: remove 'uobject->context' dependency in object destroy > > APIs > > IB/{core,hw,sw}: pass only ib_udata in function prototypes > > I was going to look at this today, but it doesn't apply and doesn't > compile on the latest tree.. Please rebase it.. > > Jason Oh missed the end of merge window.. Will do.
On Wed, Mar 06, 2019 at 02:36:10PM -0400, Jason Gunthorpe wrote: > On Wed, Mar 06, 2019 at 11:18:27AM +0200, Shamir Rabinovitch wrote: > > On Tue, Feb 26, 2019 at 02:44:52PM +0200, Shamir Rabinovitch wrote: > > > This patch set continue the cleanup started with prior series. This > > > patch set clean the ib_xxx destroy APIs because those APIs do have > > > ib_udata. > > > > > > The final goal of this cleanup is to remove the dependency in the IB > > > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > > > objects. > > > > > > This series also remove ib_ucontext from functions signature where > > > ib_udata is available. > > > > > > Shamir Rabinovitch (5): > > > IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl > > > paths > > > IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path > > > IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path > > > IB:{core,hw}: remove 'uobject->context' dependency in object destroy > > > APIs > > > IB/{core,hw,sw}: pass only ib_udata in function prototypes > > > [...] > > > > Jason, maybe you did not see it because I did not add your mail. > > Do you want me to re-base on wip/jgg-for-next again and re-send? > > We are at the merge window, so this will need to be rebased onto > 5.1-rc1 in two weeks > > Jason Jason, 5.1-rc1 is merged in to branch 'master'. Last cycle I was asked by you to work on wip/jgg-for-next . The wip/jgg-for-next does not have the latest 5.1-rc1 commits. What branch should I use for this re-base? Thanks
On Mon, Mar 18, 2019 at 10:54:16AM +0200, Shamir Rabinovitch wrote: > On Wed, Mar 06, 2019 at 02:36:10PM -0400, Jason Gunthorpe wrote: > > On Wed, Mar 06, 2019 at 11:18:27AM +0200, Shamir Rabinovitch wrote: > > > On Tue, Feb 26, 2019 at 02:44:52PM +0200, Shamir Rabinovitch wrote: > > > > This patch set continue the cleanup started with prior series. This > > > > patch set clean the ib_xxx destroy APIs because those APIs do have > > > > ib_udata. > > > > > > > > The final goal of this cleanup is to remove the dependency in the IB > > > > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > > > > objects. > > > > > > > > This series also remove ib_ucontext from functions signature where > > > > ib_udata is available. > > > > > > > > Shamir Rabinovitch (5): > > > > IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl > > > > paths > > > > IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path > > > > IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path > > > > IB:{core,hw}: remove 'uobject->context' dependency in object destroy > > > > APIs > > > > IB/{core,hw,sw}: pass only ib_udata in function prototypes > > > > > > [...] > > > > > > > Jason, maybe you did not see it because I did not add your mail. > > > Do you want me to re-base on wip/jgg-for-next again and re-send? > > > > We are at the merge window, so this will need to be rebased onto > > 5.1-rc1 in two weeks > > > > Jason > > Jason, > > 5.1-rc1 is merged in to branch 'master'. > Last cycle I was asked by you to work on wip/jgg-for-next . That was a short lived advice > The wip/jgg-for-next does not have the latest 5.1-rc1 commits. It is still getting updated > What branch should I use for this re-base? You should generally use the appropriate branch of: latest -rc from Linus rdma.git's for-next rdma.git's wip/XX/for-next To minimize the conflicts your work has. If you are badly conflicting with things that were recently accepted then you have to respin. Many things can just track -rc as they don't step over work other people are doing. In your case you are touching almost everything, so you really need to use the newest code when sending patches to avoid conflicts. Jason