Patch available for shared em interrupts (Re: em, bge, network problems survey.)

Kris Kennaway kris at obsecurity.org
Fri Oct 6 02:34:34 UTC 2006


On Thu, Oct 05, 2006 at 04:05:52PM -0400, Kris Kennaway wrote:
> On Wed, Oct 04, 2006 at 05:14:27PM -0600, Scott Long wrote:
> > All,
> > 
> > I'm seeing some patterns here with all of the network driver problem 
> > reports, but I need more information to help narrow it down further.
> > I ask all of you who are having problems to take a minute to fill
> > out this survey and return it to Kris Kennaway (on cc:) and myself.
> > Thanks.
> > 
> > 1. Are you experiencing network hangs and/or "timeout" messages on the 
> > console?  If yes, please provide a _brief_ description of the problem.
> 
> OK, next question, to all em users:
> 
> If your em device is using a shared interrupt, and you are NOT
> experiencing timeout problems when using this device, please let me
> know:

Based on successful testing on a machine with shared em interrupt, the
following patch should work around the problem *in that case*.

Note that this patch will not help you if you are not using the em
driver, or if you are seeing the problem with non-shared em interrupt
(I have investigated on such outlier, which seems to be a problem with
a particular model of em hardware and not a generic problem with the
driver).

Index: if_em.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/em/if_em.c,v
retrieving revision 1.65.2.18
diff -u -u -r1.65.2.18 if_em.c
--- if_em.c	25 Aug 2006 12:38:26 -0000	1.65.2.18
+++ if_em.c	5 Oct 2006 22:05:45 -0000
@@ -2086,7 +2086,7 @@
 	taskqueue_start_threads(&adapter->tq, 1, PI_NET, "%s taskq",
 	    device_get_nameunit(adapter->dev));
 	if ((error = bus_setup_intr(dev, adapter->res_interrupt,
-	    INTR_TYPE_NET | INTR_FAST, em_intr_fast, adapter,
+	    INTR_TYPE_NET | INTR_MPSAFE, em_intr_fast, adapter,
 	    &adapter->int_handler_tag)) != 0) {
 		device_printf(dev, "Failed to register fast interrupt "
 			    "handler: %d\n", error);

Please let Scott and I know whether or not this patch works for you
(in addition to the information previously requested, if you have not
already sent it).  Unfortunately it is only a workaround, but it
points to an underlying problem with fast interrupt handlers on a
shared irq that can be studied separately.

Kris

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20061006/668d224e/attachment.pgp


More information about the freebsd-stable mailing list