[openib-general] ib_mad_recv_done_handler questions

Sean Hefty mshefty at ichips.intel.com
Mon Nov 8 15:48:41 PST 2004


Looking at the latest changes to ib_mad_recv_done_handler, I have a 
couple of questions:

* If the underlying driver provides a process_mad routine, a response 
MAD is allocated every time a MAD is received on QP 0 or 1.  Can we 
either push this allocation down into the HCA driver, or find an 
alternative way of interacting between the two drivers that doesn't 
require this allocation unless a response will be generated?

* If process_mad consumes the MAD, should the code just goto out? 
Something more like:

	ret = port_priv->device->process_mad(...)
	if ((ret & IB_MAD_RESULT_SUCCESS) &&
	    (ret & IB_MAD_RESULT_REPLY)) {
	...
	} else

becomes

	ret = port_priv->device->process_mad(...)
	if (ret & IB_MAD_RESULT_SUCCESS)) {
		if (ret & IB_MAD_RESULT_REPLY)) {
		...
		}
		...
		goto out;
	} else

	Does the MAD still need to be dispatched in this case?

- Sean



More information about the general mailing list