Messages in this thread | | | Date | Wed, 08 Apr 2015 16:55:31 -0400 | From | Tom Talpey <> | Subject | Re: [PATCH v2 01/17] IB/Verbs: Implement new callback query_transport() for each HW |
| |
On 4/8/2015 4:10 PM, Jason Gunthorpe wrote: > On Wed, Apr 08, 2015 at 02:29:46PM -0400, Doug Ledford wrote: > >... >> >> rdma_port_get_read_sge(dev, port) >> { >> if (rdma_transport_is_iwarp) >> return 1; >> return dev->port[port]->max_sge; >> } > > Hum, that is nice, but it doesn't quite fit with how the ULP needs to > work. The max limit when creating a WR is the value passed into the > qp_cap, not the device maximum limit.
Agreed, and I will again say that not all devices necessarily support the same max_sge for all WR types. The current one-size-fits-all API may make the upper layer think so, but it's possibly being lied to.
> To do this properly we need to extend the qp_cap, and that is just too > big a change. A one bit iWarp quirk is OK for now.
Yes, it would be a large-ish change, and I like Doug's choice of word "quirk" to capture these as exceptions, until the means for addressing them is decided.
Overall, I like Doug's proposals, especially from an upper layer perspective. I might suggest further refining them into categories, perhaps "management", primarily of interest to kernel and the plumbing of connections; and actual "RDMA semantics", of interest to RDMA consumers.
| |