This bug is about improving TX performance by removing calls to freemsg()
from the inner loop of TX processing. It's about shorting the time the
tx ring lock is held.
Previous description:
This bug:
6459866 System panic due to recursive mutex_enter in snf_smap_desbfree trying to re-aquire Tx mutex
highlighted that doing freemsg() holding a tx ring lock can cause a panic.
The bug was fixed in snf rather than fixing the CE driver but that is causing
an important performance regression :
http://mail.opensolaris.org/pipermail/networking-discuss/2007-September/thread.html#17012
Looking at nxge I believe it is affected in the same way as CE :
freemsg()
nxge`nxge_txdma_reclaim+0x356
nxge`nxge_start+0x167
nxge`nxge_serial_tx+0x22
....