Date: Sun, 6 Nov 2011 09:30:02 -0800 From: Adrian Chadd <adrian@freebsd.org> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: freebsd-net@freebsd.org, bevan@bi-co.net Subject: Re: Gigabit Ethernet performance with Realtek 8111E Message-ID: <CAJ-VmomqFw0xXK89t-opGDRHhO8NGbDDmQsGJ0yXvynYO6pkMQ@mail.gmail.com> In-Reply-To: <1699972836.1240239.1320594597659.JavaMail.root@erie.cs.uoguelph.ca> References: <1320580923.19667.65.camel@bevan-pc.fritz.box> <1699972836.1240239.1320594597659.JavaMail.root@erie.cs.uoguelph.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomqFw0xXK89t-opGDRHhO8NGbDDmQsGJ0yXvynYO6pkMQ>