> struct mlx4_cq { > + int cqe; I'm probably missing something but I don't see why we can't continue using cq->ibv_cq.cqe, which avoids a bunch of changes scattered around. The whole resize operation is inside the CQ's spinlock so we don't have to worry about keeping the size of the CQ consistent or anything like that. - R.