Re: [PATCH 1/4] infiniband/core: Add protection for shared CQs used by ULPs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





  static void rdma_dim_init(struct ib_cq *cq)
@@ -218,6 +222,7 @@ struct ib_cq *__ib_alloc_cq_user(struct ib_device *dev, void *private,
  	cq->cq_context = private;
  	cq->poll_ctx = poll_ctx;
  	atomic_set(&cq->usecnt, 0);
+	cq->cq_type = IB_CQ_PRIVATE;

I would say it should be opposite, default is not shared CQ and only
pool sets something specific to mark that it is shared.

Agree.


+int rdma_set_cq_moderation(struct ib_cq *cq, u16 cq_count, u16 cq_period)
+{
+	if (WARN_ON_ONCE(cq->cq_type != IB_CQ_PRIVATE))
+		return -EOPNOTSUPP;
+	else
+		return _rdma_set_cq_moderation(cq, cq_count, cq_period);
+}
  EXPORT_SYMBOL(rdma_set_cq_moderation);

-int ib_destroy_cq_user(struct ib_cq *cq, struct ib_udata *udata)
+int rdma_set_cq_moderation_force(struct ib_cq *cq, u16 cq_count, u16 cq_period)
+{
+	return _rdma_set_cq_moderation(cq, cq_count, cq_period);
+}

All these one liners makes no sense, the call to
_rdma_set_cq_moderation() in this function and above is exactly the
same. It means there is no need in specific function.

Agree as well.



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux