[openib-general] Re: [PATCH] RFC Verbs: add support for transport specific verbs

Michael S. Tsirkin mst at mellanox.co.il
Tue Feb 28 13:38:19 PST 2006


Quoting r. Tom Tucker <tom at opengridcomputing.com>:
> Subject: Re: [openib-general] Re: [PATCH] RFC Verbs: add support for transport specific verbs
> 
> On Tue, 2006-02-28 at 23:03 +0200, Michael S. Tsirkin wrote:
> > Quoting Tom Tucker <tom at opengridcomputing.com>:
> > > > Using process_mad as an example, we would add all 7 function 
> > > > prototypes directly to ib_device.
> > > 
> > > ... And in fact in the end there will be more.
> > 
> > Oh, I hope not much more.
> 
> llp_connect, llp_accept, llp_reject, llp_listen, llp_send, llp_recv,
> llp_close, net_event_notif

8 rather than 7 then, not too bad.

> > 
> > > This separation allows
> > > one transport to change without impacting the other.
> > 
> > What kind of impact does adding some new field have?
> 
> It complicates the data structure and makes it somewhat more difficult
> to maintain. I also like the idea that iWARP support can be added in a
> separate file without hitting either ib_verbs.h or the core ib_device
> structure.

Okay, but lets try to avoid adding runtime overhead.

> This lessens the risk that a change in one transport's verbs
> will regress the other. 

I dont see how - the union size will likely change anyway.

> > My point is, I have to test whether the function is implemented anyway,
> > so why add two checks: one for device type, another for function
> > implementation? Its complicated and inefficient.
> > 
> 
> I don't see these as the same thing fmr / srq are optional features
> supported on both transports. MAD processing has no meaning on iWARP and
> the iWARP CM verbs have no meaning in IB. We're talking about
> partitioning transport specific verbs, not optional features.

> > The gain in memory usgae by using union is neglidgible, since its per
> > device and we dont have that many devices.
> > 
> I think this is true, but I don't see memory optimization as the thrust
> of the proposal. I think the idea is improving maintainability.

Then at least lets make it a structure, not a union.
This way a single test is sufficient to figure out whether
a specific function is supported.

-- 
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies



More information about the general mailing list