Skip site navigation (1)Skip section navigation (2)
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>