[openib-general] mthca and DDR not hidden

Hal Rosenstock halr at voltaire.com
Thu Sep 30 11:58:54 PDT 2004


I have a question relative to sending UD transport. This may have been
discussed before but I don't have an easy way to search for it right
now...

I attempted to send UD and got stopped by the following in mthca_av.c:

int mthca_read_ah(struct mthca_dev *dev, struct mthca_ah *ah,
                  struct ib_ud_header *header)
{
        if (ah->on_hca)
                return -EINVAL;


on_hca is set due to the following in mthca_create_ah:

       if (!atomic_read(&pd->sqp_count) &&
            !(dev->mthca_flags & MTHCA_FLAG_DDR_HIDDEN)) {
                index = mthca_alloc(&dev->av_table.alloc);
                                                                                
                /* fall back to allocate in host memory */
                if (index == -1)
                        goto host_alloc;
                                                                                
                av = kmalloc(sizeof *av, GFP_KERNEL);
                if (!av)
                        goto host_alloc;
                                                                          
                ah->on_hca = 1;

Is it a requirement to run the HCA with DDR hidden ? 

Is there a way to get the AH when the DDR is not hidden ? If so, should
this support be added into mthca ?

Thanks.

-- Hal




More information about the general mailing list