[openib-general] Re: Re: user_mad: large rmpp length problem

Michael S. Tsirkin mst at mellanox.co.il
Mon Nov 21 11:55:31 PST 2005


Quoting r. Sean Hefty <mshefty at ichips.intel.com>:
> Subject: Re: Re: user_mad: large rmpp length problem
> 
> Hal Rosenstock wrote:
> > I also don't think an API change is required in the approach I am
> > planning to take. It's in user_mad in how it allocates memory and copies
> > into it as well as the underlying mad layer for supporting more than 1
> > sgl entry. If you want to take the ball on this, you/Michael are welcome
> > to submit patches to both of these along these lines. Sean can comment
> > for himself on this.
> 
> An API change shouldn't be necessary.  The plan to support large sends was to 
> change how the void *mad pointer in struct ib_mad_send_bug is used.  Currently, 
> it references a single data buffer.  The fix is to have it reference a list of 
> buffers for large transfers.  See:
> 
> http://openib.org/pipermail/openib-general/2005-October/012723.html
> 
> for more details.
> 
> And yes, a patch for this would be great.  Otherwise, I will eventually get to 
> this, but it may be a few weeks before it bumps up high enough on my priority list.
> 
> - Sean

This approach still means that we have to allocate a potentially
huge amount of memory to copy all of the rmpp mad into kernel
in one go.

What I had in mind was: add a get_next_segment callback to mad,
which would copy the data (by copy_from_user) incrementally,
making forward progress without requiring us to have all of the mad
in kernel memory.

-- 
MST



More information about the general mailing list