[openib-general] [RFC] MAD API changes to fix DMA mapping issues

Roland Dreier rolandd at cisco.com
Tue Oct 18 14:36:05 PDT 2005


This seems reasonable to me -- I like getting rid of the overloading
of struct ib_wr with MAD-only fields.

A few specific questions/comments about ib_mad_send_buf:

      >  struct ib_mad_send_buf {
      > +	struct ib_mad_send_buf	*next;
      >  	struct ib_mad		*mad;
      > -	DECLARE_PCI_UNMAP_ADDR(mapping)

Do we want to get rid of this field?  It seems like we'll need to keep
track of the DMA mapping somewhere, and this is as good a place as any.

      >  	struct ib_mad_agent	*mad_agent;
      > +	struct ib_ah		*ah;
      >  	void			*context[2];

I know this isn't being changed, but what was the original reason for
needing two context slots?

      > -	struct ib_send_wr	send_wr;
      > -	struct ib_sge		sge;
      > +	int			timeout_ms;
      > +	int			retries;
      >  };

Finally, I don't see anywhere that the length of the data buffer is
storred in the structure, so how does ib_post_send_mad() know how much
to send when it gets called?

 - R.



More information about the general mailing list