[openib-general] Re: CMA stuff

Michael S. Tsirkin mst at mellanox.co.il
Thu Mar 2 13:53:57 PST 2006


Quoting r. Sean Hefty <mshefty at ichips.intel.com>:
> Subject: Re: [openib-general] Re: CMA stuff
> 
> Michael S. Tsirkin wrote:
> >- Do we expect ULPs to let CMA mange the QPs, or do it themselves?
> 
> The CMA manages the QP states only if the user calls rdma_create_qp().  If 
> this call is not made, the user must perform QP state transitions 
> themselves.  In general, I would expect most users to call 
> rdma_create_qp().  The option is there mainly to support userspace QPs.
> 
> >- When cma manages QP state, there doesnt seem to exist an option
> >  to post receive WQEs when qp is in INIT state.
> >  This is required at least for SDP if SDP's to use.
> 
> The QP is in the INIT state after rdma_create_qp() is called.  Receives may 
> be posted at that time.

I'm talking about the passive side.

> >- CMA does not seem to do anything with the path static rate it gets
> >  from SA. Am I missing the place where it does do it?
> 
> What are you wanting it to do with it?  It's possible that what you're 
> looking for is done by the IB CM.

Pass it to QP in an ah?

> Backlog doesn't make much sense when the CMA is used over the IB CM, since 
> it's a direct callback model.  I looked at adding backlog as a parameter to 
> the IB CM, but couldn't come up with a decent implementation for what to do 
> with it. The uCMA is the only location where any queuing of requests is 
> actually done.

We could just continue with setup and then close the connection if backlog
is exceeded.

> >	- It seems that in ucma backlog is checked when a connection request
> >	  arrives. However this is not how TCP handles backlog,
> >	  so socket apps being ported to CMA might hit a problem.
> ...
> I think that I need a specific example (i.e. a patch) to see how you would 
> treat backlog differently.

I'm still trying to get my head about the cma implementation, but
I'll see what I can do.

My idea was to have 2 counters: one counting connections
that are being established, gong up to tcp_max_syn_backlog,
and another one after the connection is established, up to local
socket backlog.

-- 
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies



More information about the general mailing list