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. In this patch set, I am not going to change the logic which is out of cq allocation. So I have to use original interface to allocate cq this time. I am glad to hear your advice, if I missed information or misunderstood. Thanks, Tony Lu