OpenSolaris

Printable Version Enter a New Search
Bug ID 6608205
Synopsis tx performance can be improved by not holding locks when calling freemsg()
State 10-Fix Delivered (Fix available in build)
Category:Subcategory driver:nxge
Keywords
Responsible Engineer Michael Speer
Reported Against
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_102
Fixed In snv_102
Release Fixed solaris_nevada(snv_102)
Related Bugs 6459866 , 6502748 , 6763912 , 2169113 , 6772511
Submit Date 24-September-2007
Last Update Date 6-November-2008
Description
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
		....
Work Around
N/A
Comments
N/A