[openib-general] Question On mad.c

Devesh Sharma devesh28 at gmail.com
Fri Jan 20 07:41:16 PST 2006


Hi all,

In mad.c while calling ib_post_receive() operation

      spin_lock_irqsave(&recv_queue->lock, flags);

       post = (++recv_queue->count < recv_queue->max_active);

       list_add_tail(&mad_priv->header.mad_list.list, &recv_queue->list);
       spin_unlock_irqrestore(&recv_queue->lock, flags);
       ret = ib_post_recv(qp_info->qp, &recv_wr, &bad_recv_wr);

This is in while loop till "post" variable remains true, value of
max_active is 512 So loop will go 512 times.

If the qp on which this posting is going on dose not supports 512
recevie  descriptors posting then what will happen?
Although during qp creation max_recv supported will be returned but
loop is independent of this.

Is it the requirement that for QP0 and  QP1 this is (512) the at least
supported receive descriptors?

please any body clerify my confusion.

Devesh



More information about the general mailing list