Date: Thu, 5 Oct 2006 22:34:25 -0400 From: Kris Kennaway <kris@obsecurity.org> To: Kris Kennaway <kris@obsecurity.org> Cc: freebsd-stable@freebsd.org Subject: Patch available for shared em interrupts (Re: em, bge, network problems survey.) Message-ID: <20061006023424.GA86250@xor.obsecurity.org> In-Reply-To: <20061005200552.GA80162@xor.obsecurity.org> References: <45244053.6030706@samsco.org> <20061005200552.GA80162@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--X1bOJ3K7DJ5YkBrT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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, > >=20 > > I'm seeing some patterns here with all of the network driver problem=20 > > 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. > >=20 > > 1. Are you experiencing network hangs and/or "timeout" messages on the= =20 > > console? If yes, please provide a _brief_ description of the problem. >=20 > OK, next question, to all em users: >=20 > 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 =3D 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)) !=3D 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 --X1bOJ3K7DJ5YkBrT Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFJcCwWry0BWjoQKURAqdUAKD5wCARFFNMFy7tQNO22XldopTwzwCg9iBy QJ5EU/dyeUHV6D9244eeYtc= =Bq3a -----END PGP SIGNATURE----- --X1bOJ3K7DJ5YkBrT--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061006023424.GA86250>