Re: [PATCH] RDMA/mlx4: Spread completion vectors for proxy CQs

From: Jason Gunthorpe
Date: Wed Feb 20 2019 - 12:14:46 EST


On Tue, Feb 19, 2019 at 06:32:50PM +0100, HÃkon Bugge wrote:
> Anyway, Jason mentioned in a private email that maybe we could use the
> new completion API or something? I am not familiar with that one
> (yet).

I was thinking of the stuff in core/cq.c - but it also doesn't have
automatic comp_vector balancing. It is the logical place to put
something like that though..

An API to manage a bundle of CPU affine CQ's is probably what most
ULPs really need.. (it makes little sense to create a unique CQ for
every QP)

alloc_bundle()
get_cqn_for_flow(bundle)
alloc_qp()
destroy_qp()
put_cqn_for_flow(bundle)
destroy_bundle();

Let the core code balance the cqn's and allocate (shared) CQ
resources.

Jason