[ofa-general] RNR NAK issues

Sean Hefty sean.hefty at intel.com
Mon Apr 9 21:12:48 PDT 2007


>One of the things that I discovered was that in cm.c
>qp_attr->min_rnr_timer was set to 0. What is the purpose of settng this to
>0? How are drivers expected to use this? I see that mthca does some
>computation.
>Probably because of this ( min_rnr_timer = 0) ehca appears to use this
>value and sets it to 0 too.

The CM is setting this based on section 11.2.4.2:

	Minimum RNR NAK Timer Field Value. When a message arrives
	which is targeted at a local receive queue, and that receive
	queue has no receive work requests outstanding, the CI
	may respond to the initiator with an RNR NAK packet. This
	modifier is the minimum value which shall be sent in the Timer
	Field of such an RNR NAK packet; it does not affect RNR
	NAKs sent for other reasons.

In general, my expectation is that most apps will have receives pre-posted, so
the CM defaults to a value of 0.  A user can override this setting before
modifying the QP if necessary.  From table 45, an RNR NAK timer value of 0
results in a delay of 655.36 milliseconds.

- Sean



More information about the general mailing list