[openib-general] [PATCH] ib_mad: Receive path fixes

Sean Hefty mshefty at ichips.intel.com
Mon Sep 27 09:05:11 PDT 2004


On Mon, 27 Sep 2004 09:00:27 -0400
Hal Rosenstock <halr at voltaire.com> wrote:

> +union ib_mad_recv_wrid {
> +       u64 wrid;
> +       struct {
> +               u32 index;
> +               u32 qpn;
> +       } wrid_field;
> +};
> +

If you accept the patch that separates QP 0/1 traffic from each other, we don't need this, and it would allow for additional optimizations.  Is there any benefit to having a single queue of data buffers for receives that are posted to separate queue pairs?  As the code is currently structured, an error on QP 1 will reset QP 0, and vice versa.

>  struct ib_mad_private_header {
>         struct ib_mad_recv_wc recv_wc; /* must be first member (for now
> !!!) */

I don't believe that recv_wc needs to be the first member anymore, but that may depend on which patches were accepted.

> +       u32 recv_wr_index[IB_MAD_QPS_SUPPORTED];

The access layer won't be posting receives on redirected QPs, so I think we can eliminate the "_SUPPORTED" constant, and just use "_CORE" instead.

For redirected QPs, the access layer should only need to perform segmentation for the user, or reassembly received data.
  



More information about the general mailing list