the s2io driver allows you to create up to 8 tx_fifo's. However, all interrupts are observed to go a single queue (#1). In the -29 version of the driver multiqueue support was added. It appears this would enable spreading interrupts across all tx_fifo's. Benchmarking for small packet sizes is CPU bound; allowing multiple CPUs to assist in interrupt processing would improve the problem.
A test kernel build with s2io backported from current upstream is now available: https://brewweb.devel.redhat.com/taskinfo?taskID=2108561 I also uploaded it to a publicly accessible location: http://disk.jabbim.cz/michich@jabber.cz/s2io/ Could you please test it?
This Bugzilla has been reviewed by Red Hat and is not planned on being addressed in Red Hat Enterprise Linux 5, and therefore is being closed. If this bug is critical to production systems, please contact your Red Hat support representative and provide a sufficient business justification in order to re-open it.