Re: [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma

From: ira.weiny
Date: Tue Apr 14 2015 - 11:50:52 EST


On Tue, Apr 14, 2015 at 10:35:34AM +0200, Michael Wang wrote:
>
>
> On 04/13/2015 09:25 PM, 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.)
>
> Agree, seems like this is very similar to the case of cma_listen_on_dev() which
> do not associated with any particular port in #24.
>
> If the port 1 is enough to present the whole device's cm capability, maybe we can
> get rid of cap_ib_cm_dev() too?
>
> And maybe cap_ib_cm(device, device->node_type == RDMA_NODE_IB_SWITCH ? 0:1) would
> be safer?

I don't see support for switch port 0 in cm_add_one() now. Are switches supposed
to be supported?

Ira

>
> Regards,
> Michael Wang
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/