On Thu, Jan 27, 2022 at 11:14:37AM +0800, Tony Lu wrote: > On Wed, Jan 26, 2022 at 11:28:06AM -0400, Jason Gunthorpe wrote: > > On Wed, Jan 26, 2022 at 03:23:22PM +0800, Tony Lu wrote: > > > On Sun, Jan 16, 2022 at 11:00:33AM +0200, Leon Romanovsky wrote: > > > > > > > > Please CC RDMA mailing list next time. > > > > > > > > Why didn't you use already existed APIs in drivers/infiniband/core/cq.c? > > > > ib_cq_pool_get() will do most if not all of your open-coded CQ spreading > > > > logic. > > > > > > I am working on replacing with ib_cq_pool_get(), this need ib_poll_context > > > to indicate the poller which provides by ib_poll_handler(). It's okay > > > for now, but for the callback function. When it polled a ib_wc, it > > > would call wc->wr_cqe->done(cq, wc), which is the union with wr_id. The > > > wr_id is heavily used in SMC. > > > > Part of using the new interface is converting to use wr_cqe, you > > should just do that work instead of trying to duplicate a core API in > > a driver. > > Thanks for your advice. This patch set aims to improve performance with > current API in SMC protocol, which is more urgent. This code existed from 2017, it is hard to agree with "urgent" claim. Thanks