Christoph Hellwig wrote:
If you change behaviour you should change the interface, in this case
you'd _really_ want to pass down the buffer as void pointer and not cast
it to a dma_addr_t - that would in fact break on ppc64 where dma_addr_t
is a 32bit data type and a pointer is 64bits wide.
To clarify, I'm proceeding down the path of changing:
int ib_post_send_mad(struct ib_mad_agent *mad_agent,
struct ib_send_wr *send_wr,
struct ib_send_wr **bad_send_wr);
to something like:
int ib_post_send_mad(struct ib_mad_agent *mad_agent,
struct ib_mad_send_buf *send_buf,
struct ib_mad_send_buf **bad_send_buf);
(with minor changes to struct ib_mad_send_buf) This should permit chaining
together sends, plus control how memory is allocated for very large MAD
transfers. I threw out the other possibility to ensure that there's not a
better solution that we're missing. I believe that the other solution requires
substantially fewer changes to the existing codebase.
- Sean
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general