On Wed, Mar 15, 2023 at 01:16:55AM -0700, Selvin Xavier wrote: > Add resize_cq verb support for user space CQs. Resize operation for > kernel CQs are not supported now. > > Driver should free the current CQ only after user library polls > for all the completions and switch to new CQ. So after the resize_cq > is returned from the driver, user libray polls for existing completions > and store it as temporary data. Once library reaps all completions in the > current CQ, it invokes the ibv_cmd_poll_cq to inform the driver about > the resize_cq completion. Adding a check for user CQs in driver's > poll_cq and complete the resize operation for user CQs. > Updating uverbs_cmd_mask with poll_cq to support this. > > User library changes are available in this pull request. > https://github.com/linux-rdma/rdma-core/pull/1315 > > Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx> > --- > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 109 +++++++++++++++++++++++++++++++ > drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 + > drivers/infiniband/hw/bnxt_re/main.c | 2 + > drivers/infiniband/hw/bnxt_re/qplib_fp.c | 44 +++++++++++++ > drivers/infiniband/hw/bnxt_re/qplib_fp.h | 5 ++ > include/uapi/rdma/bnxt_re-abi.h | 4 ++ > 6 files changed, 167 insertions(+) <...> > +struct bnxt_re_resize_cq_req { > + __u64 cq_va; This should be __aligned_u64, see commit: 26b9906612c3 ("RDMA: Change all uapi headers to use __aligned_u64 instead of __u64") Fixed locally and applied. Thanks > +}; > + > struct bnxt_re_qp_req { > __aligned_u64 qpsva; > __aligned_u64 qprva; > -- > 2.5.5 >