Re: [PATCH rdma-next 00/13] Elastic Fabric Adapter (EFA) driver

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

 



On Fri, Jan 04, 2019 at 03:37:06PM -0800, Sagi Grimberg wrote:
> 
> > In this case the only reason this ugly hack was put in the driver is
> > because the common code would *REFUSE* to register the driver unless
> > there is a req_notify_cq implementation (and others) because it is
> > declared as a mandatory part of common verbs for decades now.
> > 
> > The IBA has things marked MANDATORY for a reason - IMHO something that
> > doesn't implement 'enough' of the mandatory statements no longer
> > qualifies to be called verbs.
> 
> Are there any mandatory callbacks that EFA refuses other than this one
> (which Gal said that it will support)?

All the EOPNOTSUPP ones. It *really* doesn't support kverbs at
all. Which is why my first thought was to just not present it via the
in-kernel client API at all.

Only req_notify really extends into userspace verbs though.

+/* In ib callbacks section -  Start of stub funcs */
+int efa_post_send(struct ib_qp *ibqp,
+		  const struct ib_send_wr *wr,
+		  const struct ib_send_wr **bad_wr)
+{
+	pr_warn("Function not supported\n");
+	return -EOPNOTSUPP;
+}
+
+int efa_post_recv(struct ib_qp *ibqp,
+		  const struct ib_recv_wr *wr,
+		  const struct ib_recv_wr **bad_wr)
+{
+	pr_warn("Function not supported\n");
+	return -EOPNOTSUPP;
+}
+
+int efa_poll_cq(struct ib_cq *ibcq, int num_entries,
+		struct ib_wc *wc)
+{
+	pr_warn("Function not supported\n");
+	return -EOPNOTSUPP;
+}
+
+int efa_req_notify_cq(struct ib_cq *ibcq,
+		      enum ib_cq_notify_flags flags)
+{
+	pr_warn("Function not supported\n");
+	return -EOPNOTSUPP;
+}
+
+struct ib_mr *efa_get_dma_mr(struct ib_pd *ibpd, int acc)
+{
+	pr_warn("Function not supported\n");
+	return ERR_PTR(-EOPNOTSUPP);
+}
+
+int efa_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
+		  int attr_mask, struct ib_udata *udata)
+{
+	pr_warn("Function not supported\n");
+	return -EOPNOTSUPP;
+}
+



[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