From owner-freebsd-current@FreeBSD.ORG Fri Oct 15 22:29:36 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A7BC16A4CE for ; Fri, 15 Oct 2004 22:29:36 +0000 (GMT) Received: from mail.mcneil.com (mcneil.com [24.199.45.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60C4C43D5C for ; Fri, 15 Oct 2004 22:29:36 +0000 (GMT) (envelope-from sean@mcneil.com) Received: from localhost (localhost.mcneil.com [127.0.0.1]) by mail.mcneil.com (Postfix) with ESMTP id 1FEC2F1AD4 for ; Fri, 15 Oct 2004 15:29:36 -0700 (PDT) Received: from mail.mcneil.com ([127.0.0.1]) by localhost (server.mcneil.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 00660-04 for ; Fri, 15 Oct 2004 15:29:35 -0700 (PDT) Received: from [24.199.45.54] (mcneil.com [24.199.45.54]) by mail.mcneil.com (Postfix) with ESMTP id 3CDF4F1AC3 for ; Fri, 15 Oct 2004 15:29:35 -0700 (PDT) From: Sean McNeil To: freebsd-current@freebsd.org Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-gH/jVksQCMBZcpqgKOUp" Message-Id: <1097879374.1215.7.camel@server.mcneil.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Fri, 15 Oct 2004 15:29:35 -0700 X-Virus-Scanned: by amavisd-new at mcneil.com Subject: re0 packet loss partially solved (patch included) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Oct 2004 22:29:36 -0000 --=-gH/jVksQCMBZcpqgKOUp Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Folks, I've solved part of my problem with the re0 driver and it dropping packets. In interrupt mode, the xmit buffers are checked based on a timer. For 8169 chips, this timer was set to check half as often as with non-8169 chips. It should have been set to check twice as often. I still have packet loss in polling mode, however, and have not determined how to fix it. I'm confident it is related and that packets are being tossed because the xmit queue isn't being checked often enough. The following patch fixes xmit packet loss in interrupt mode: *** sys/dev/re/if_re.c.orig Tue Sep 28 11:22:24 2004 --- sys/dev/re/if_re.c Fri Oct 15 15:19:55 2004 *************** re_init_locked(sc) *** 2217,2223 **** * moderation, which dramatically improves TX frame rate. */ if (sc->rl_type =3D=3D RL_8169) ! CSR_WRITE_4(sc, RL_TIMERINT_8169, 0x800); else CSR_WRITE_4(sc, RL_TIMERINT, 0x400); =20 --- 2217,2223 ---- * moderation, which dramatically improves TX frame rate. */ if (sc->rl_type =3D=3D RL_8169) ! CSR_WRITE_4(sc, RL_TIMERINT_8169, 0x200); else CSR_WRITE_4(sc, RL_TIMERINT, 0x400); =20 --=-gH/jVksQCMBZcpqgKOUp Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQBBcE9OyQsGN30uGE4RAqOaAKDIy4ShsIUoBDnL3zqvswhGb3/ZzACfczmd 2N/j7zwJJXNOihDs4gEW84s= =ft6q -----END PGP SIGNATURE----- --=-gH/jVksQCMBZcpqgKOUp--