netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Saleem, Shiraz" <shiraz.saleem@intel.com>
To: Leon Romanovsky <leon@kernel.org>,
	"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"jgg@ziepe.ca" <jgg@ziepe.ca>,
	"Ismail, Mustafa" <mustafa.ismail@intel.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"nhorman@redhat.com" <nhorman@redhat.com>,
	"sassmann@redhat.com" <sassmann@redhat.com>
Subject: RE: [RFC PATCH v5 09/16] RDMA/irdma: Implement device supported verb APIs
Date: Tue, 21 Apr 2020 00:29:43 +0000	[thread overview]
Message-ID: <9DD61F30A802C4429A01CA4200E302A7DCD485DF@fmsmsx124.amr.corp.intel.com> (raw)
In-Reply-To: <20200417195928.GE3083@unreal>

> Subject: Re: [RFC PATCH v5 09/16] RDMA/irdma: Implement device supported
> verb APIs
> 
> On Fri, Apr 17, 2020 at 10:12:44AM -0700, Jeff Kirsher wrote:
> > From: Mustafa Ismail <mustafa.ismail@intel.com>
> >
> > Implement device supported verb APIs. The supported APIs vary based on
> > the underlying transport the ibdev is registered as (i.e. iWARP or
> > RoCEv2).
> >
> > Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
> > Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
> > ---
> >  drivers/infiniband/hw/irdma/verbs.c     | 4555 +++++++++++++++++++++++
> >  drivers/infiniband/hw/irdma/verbs.h     |  213 ++
> >  include/uapi/rdma/ib_user_ioctl_verbs.h |    1 +
> >  3 files changed, 4769 insertions(+)
> >  create mode 100644 drivers/infiniband/hw/irdma/verbs.c
> >  create mode 100644 drivers/infiniband/hw/irdma/verbs.h
> 
> <...>
> 
> > +static int irdma_destroy_qp(struct ib_qp *ibqp, struct ib_udata
> > +*udata) {
> > +	struct irdma_qp *iwqp = to_iwqp(ibqp);
> > +
> > +	iwqp->destroyed = 1;
> > +	if (iwqp->ibqp_state >= IB_QPS_INIT && iwqp->ibqp_state <
> IB_QPS_RTS)
> > +		irdma_next_iw_state(iwqp, IRDMA_QP_STATE_ERROR, 0, 0, 0);
> > +
> > +	if (!iwqp->user_mode) {
> > +		if (iwqp->iwscq) {
> > +			irdma_clean_cqes(iwqp, iwqp->iwscq);
> > +			if (iwqp->iwrcq != iwqp->iwscq)
> > +				irdma_clean_cqes(iwqp, iwqp->iwrcq);
> > +		}
> > +	}
> > +
> > +	irdma_remove_push_mmap_entries(iwqp);
> > +	irdma_free_lsmm_rsrc(iwqp);
> > +	irdma_rem_ref(&iwqp->ibqp);
> 
> No, please ensure that call to destroy_qp is kfree QP without any need in reference
> counting. We need this to move QP allocation to be IB/core responsibility. I hope
> that all other verbs objects (with MR as
> exception) follow the same pattern: create->kzalloc->destroy>kfree.

Yes. I did see the other verb objects allocation move to IB core
responsibility but not QP. Since we are headed in that direction,
I do think it's a reasonable expectation to make destroy QP
synchronous in providers. We ll look to change it in next rev.

Thank you Leon for taking the time to review and provide
feedback.

Shiraz

  reply	other threads:[~2020-04-21  0:29 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-17 17:12 [RFC PATCH v5 00/16] Add Intel Ethernet Protocol Driver for RDMA (irdma) Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 01/16] RDMA/irdma: Add driver framework definitions Jeff Kirsher
2020-04-17 19:34   ` Leon Romanovsky
2020-04-21  0:23     ` Saleem, Shiraz
2020-04-21  0:46       ` Jason Gunthorpe
2020-04-21 18:19         ` Saleem, Shiraz
2020-04-21 18:22           ` Jason Gunthorpe
2020-04-23  0:32             ` Saleem, Shiraz
2020-04-23 15:02               ` Jason Gunthorpe
2020-04-23 17:15                 ` Saleem, Shiraz
2020-04-23 19:03                   ` Jason Gunthorpe
2020-04-23 23:54                     ` Saleem, Shiraz
2020-04-24  0:48                       ` Jason Gunthorpe
2020-04-27 23:57                         ` Saleem, Shiraz
2020-04-28  0:03                           ` Jason Gunthorpe
2020-04-21  7:14       ` Leon Romanovsky
2020-04-17 19:37   ` Jason Gunthorpe
2020-04-17 17:12 ` [RFC PATCH v5 02/16] RDMA/irdma: Implement device initialization definitions Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 03/16] RDMA/irdma: Implement HW Admin Queue OPs Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 04/16] RDMA/irdma: Add HMC backing store setup functions Jeff Kirsher
2020-04-17 20:17   ` Leon Romanovsky
2020-04-21  0:25     ` Saleem, Shiraz
2020-04-17 17:12 ` [RFC PATCH v5 05/16] RDMA/irdma: Add privileged UDA queue implementation Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 06/16] RDMA/irdma: Add QoS definitions Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 07/16] RDMA/irdma: Add connection manager Jeff Kirsher
2020-04-17 20:23   ` Leon Romanovsky
2020-04-21  0:26     ` Saleem, Shiraz
2020-04-21  7:33       ` Leon Romanovsky
2020-04-17 17:12 ` [RFC PATCH v5 08/16] RDMA/irdma: Add PBLE resource manager Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 09/16] RDMA/irdma: Implement device supported verb APIs Jeff Kirsher
2020-04-17 19:59   ` Leon Romanovsky
2020-04-21  0:29     ` Saleem, Shiraz [this message]
2020-04-21  7:16       ` Leon Romanovsky
2020-04-17 17:12 ` [RFC PATCH v5 10/16] RDMA/irdma: Add RoCEv2 UD OP support Jeff Kirsher
2020-04-17 19:46   ` Leon Romanovsky
2020-04-21  0:27     ` Saleem, Shiraz
2020-04-17 17:12 ` [RFC PATCH v5 11/16] RDMA/irdma: Add user/kernel shared libraries Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility definitions Jeff Kirsher
2020-04-17 20:32   ` Leon Romanovsky
2020-04-21  0:27     ` Saleem, Shiraz
2020-04-21  7:30       ` Leon Romanovsky
2020-04-22  0:02         ` Saleem, Shiraz
2020-04-22  0:06           ` Jason Gunthorpe
2020-04-23  0:32             ` Saleem, Shiraz
2020-04-17 17:12 ` [RFC PATCH v5 13/16] RDMA/irdma: Add dynamic tracing for CM Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 14/16] RDMA/irdma: Add ABI definitions Jeff Kirsher
2020-04-17 19:43   ` Leon Romanovsky
2020-04-21  0:29     ` Saleem, Shiraz
2020-04-21  7:22       ` Leon Romanovsky
2020-04-17 17:12 ` [RFC PATCH v5 15/16] RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 16/16] RDMA/irdma: Update MAINTAINERS file Jeff Kirsher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9DD61F30A802C4429A01CA4200E302A7DCD485DF@fmsmsx124.amr.corp.intel.com \
    --to=shiraz.saleem@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jgg@ziepe.ca \
    --cc=leon@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mustafa.ismail@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).