lkml.org 
[lkml]   [2015]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma
Date
> On Mon, Apr 13, 2015 at 07:25:48PM +0000, Hefty, Sean wrote:
> > > @@ -1037,17 +1033,13 @@ void rdma_destroy_id(struct rdma_cm_id *id)
> > > mutex_unlock(&id_priv->handler_mutex);
> > >
> > > if (id_priv->cma_dev) {
> > > - switch (rdma_node_get_transport(id_priv->id.device-
> > > >node_type)) {
> > > - case RDMA_TRANSPORT_IB:
> > > + if (rdma_ib_or_iboe(id_priv->id.device, id_priv->id.port_num))
> >
> > A listen id can be associated with a device without being associated
> > with a port (see the listen_any_list). Some other check is needed
> > to handle this case. I guess the code could check the first port on
> > the device (replace port_num with hardcoded value 1). Then we
> > wouldn't be any more broken than the code already is. (The 'break'
> > is conceptual, not practical.)
>
> Hum. So, devices on a port must have some compatibility when it comes
> to these invariants. It looks like all ports must have the same
> iwarpyness, for multiple reasons.
>
> Less clear is how rocee vs ib work within a device... Can you APM
> between those two kinds of ports?

No idea

> All these switches are so ugly :| Function pointers setup in
> iw_/ib_create_cm_id would be a lot clearer and safer.

I noticed this too. The if checks throughout the cma are becoming unmaintainable. It may be cleaner if all devices adopted using the cm device function pointers.

> > This appears to be highlighting an architectural flaw in the iboe
> integration.
>
> You mean iwarp?

I meant iboe. Wildcard listens map to multiple listens, one per device. The assumption being that all ports on the device are the same. IBoE changed that assumption.


\
 
 \ /
  Last update: 2015-04-13 23:01    [W:0.153 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site