Gigabit Ethernet performance with Realtek 8111E
Adrian Chadd
adrian at freebsd.org
Sun Nov 6 17:30:04 UTC 2011
Hi,
You've triggered off a little memory cell deep in my ath(4) 11n
hacking. I saw similar issues with TX/RX interrupt handling and fifo
underrun/overrun/timeouts. It turns out there were bugs in the
interrupt handling code. :-)
Someone who can read the driver and/or has access to the datasheets
should check to make sure that interrupt disable/enable:
* Doesn't clear the RX interrupt condition. Ie, if you disable
interrupts and an RX interrupt status occurs, then when you re-enable
it, it should _immediately_ trigger another interrupt rather then
waiting for the next interrupt to occur;
* Whether MSI is doing the same thing.
This has me a little concerned. Ie, given the trouble people have with
e1000 and MSI, I wonder if there's either a bug in the interrupt
handling in both cases, or whether we're doing something "wrong" with
MSI interrupts that show up under network load.
I'm CC'ing jhb@ so he may provide some helpful hints on how legacy/MSI
interrupts are expected to work in this instance.
Adrian
More information about the freebsd-net
mailing list