On Tue, Mar 17, 2020 at 03:10:36PM -0300, Jason Gunthorpe wrote: > On Tue, Mar 17, 2020 at 06:37:57PM +0200, Max Gurtovoy wrote: > > > > > +#include <rdma/ib_verbs.h> > > > > + > > > > +struct ib_srq *rdma_srq_get(struct ib_pd *pd); > > > > +void rdma_srq_put(struct ib_pd *pd, struct ib_srq *srq); > > > At the end, it is not get/put semantics but more add/remove. > > > > srq = rdma_srq_add ? > > > > rdma_srq_remove(pd, srq) ? > > > > Doesn't seems right to me. > > > > Lets make it simple. For asking a SRQ from the PD set lets use rdma_srq_get > > and returning to we'll use rdma_srq_put. > > Is there reference couting here? get/put should be restricted to > refcounting APIs, IMHO. No, there is no refcounting, Max introduced some counter which he decrease and increase, but doesn't have any other usage of it, simply burning CPU cycles. Thanks > > Jason