Re: [PATCH v3 04/28] IB/Verbs: Reform IB-core cm

From: ira.weiny
Date: Mon Apr 13 2015 - 15:52:32 EST


On Mon, Apr 13, 2015 at 01:29:30PM -0600, Jason Gunthorpe wrote:
> On Mon, Apr 13, 2015 at 06:40:35PM +0000, Hefty, Sean wrote:
> > > > - if (rdma_node_get_transport(ib_device->node_type) !=
> > > RDMA_TRANSPORT_IB)
> > > > - return;
> > > > + int count = 0;
> > >
> > > I'm ok with this as an intermediate patch but going forward if we are
> > > going to
> > > have calls like
> > >
> > > static inline int cap_ib_cm_dev(struct ib_device *device)
> >
> > I would rather keep everything to checking per port, not per device.
> > Specifically, because we have code that does this:
>
> Argee.
>
> I asked Michael for it and stand by it, the property is per-port, not
> per device. Having the per-device tests just muddles the logic, look
> at the trouble Sean notices in #10 when we are now forced to think of
> things clearly.

What about having those be helpers within the corresponding C code?

For example move cap_ib_cm_dev() into cm.c. Or just put the logic at the top
of cm_add_one()?

I think that having the ib_umad, ib_sa, and ib_cm modules skip devices which
have no ports which support those functions makes the code clean. But I
understand the desire to have checks from the devices be per port.

Also for these function clean up patches we preserve the existing logic.

Ira

--
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/