[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