From owner-freebsd-net@freebsd.org Sat Aug 31 13:30:36 2019 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB49DD2277 for ; Sat, 31 Aug 2019 13:30:36 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 46LHKS4qWKz4VHv for ; Sat, 31 Aug 2019 13:30:36 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id A2F35D2276; Sat, 31 Aug 2019 13:30:36 +0000 (UTC) Delivered-To: net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A2ABED2275 for ; Sat, 31 Aug 2019 13:30:36 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46LHKS35JCz4VHq for ; Sat, 31 Aug 2019 13:30:36 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4311319851 for ; Sat, 31 Aug 2019 13:30:36 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id x7VDUaYX072368 for ; Sat, 31 Aug 2019 13:30:36 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id x7VDUaLT072367 for net@FreeBSD.org; Sat, 31 Aug 2019 13:30:36 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 235031] [em] em0: poor NFS performance, strange behavior Date: Sat, 31 Aug 2019 13:30:34 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 12.0-RELEASE X-Bugzilla-Keywords: IntelNetworking, regression X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: d8zNeCFG@aon.at X-Bugzilla-Status: Open X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: net@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Aug 2019 13:30:36 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235031 --- Comment #37 from Martin Birgmeier --- (Adding Bruce's mail here:) On 31.08.19 13:44, Bruce Evans wrote: > On Thu, 15 Aug 2019 a bug that doesn't want replies at freebsd.org wrote: > >> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235031 >> >> --- Comment #36 from Martin Birgmeier --- >> I just notice that the console and syslog have about 20 messages of >> >> em: frame error: ignored >> em: frame error: ignored >> em: frame error: ignored >> em: frame error: ignored >> em: frame error: ignored >> >> Uptime is 2 1/2 hours.=20 > > You seem to be using my old patch which is not in -current: > > Index: em_txrx.c > XX =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 > XX --- em_txrx.c (revision 348771) > XX +++ em_txrx.c (working copy) > XX @@ -629,9 +629,20 @@ > XX XX /* Make sure bad packets are discarded */ > XX if (errors & E1000_RXD_ERR_FRAME_ERR_MASK) { > XX +#if 0 > XX adapter->dropped_pkts++; > XX - /* XXX fixup if common */ > XX return (EBADMSG); > XX +#else > XX + /* > XX + * XXX the above error handling is worse than none. > XX + * First it it drops 'i' packets before the current > XX + * one and doesn't count them. Then it returns an > XX + * error. iflib can't really handle this error. > XX + * It just resets, and this usually drops many more > XX + * packets (without counting them) and much time. > XX + */ > XX + printf("lem: frame error: ignored\n"); > XX +#endif > XX } > XX XX ri->iri_frags[i].irf_flid =3D 0; > XX @@ -692,8 +703,12 @@ > XX XX /* Make sure bad packets are discarded */ > XX if (staterr & E1000_RXDEXT_ERR_FRAME_ERR_MASK) { > XX +#if 0 > XX adapter->dropped_pkts++; > XX return EBADMSG; > XX +#else > XX + printf("em: frame error: ignored\n"); > XX +#endif > XX } > XX XX ri->iri_frags[i].irf_flid =3D 0; > > Without this patch, no message is printed and the device takes a long > time to recover (when I wrote the patch, recovery was from something > like a watchdog timeout after many seconds). With the patch, the recovery > is good enough for nfs over udp to not lose any data or time out, but I > don't trust this so I print the message. > > Pre-iflib versions of [l]em handled this correctly by dropping a single > packet, which was easy to do. Unpatched iflib makes a mess by returning > with subsequent packets unprocessed. It apparently just stops receiving > until kicked by a watchdog. > > I don't know what causes this error. Maybe just a bad cable or switch. > I don't see it for I218V with the same cable and switch. > > Bruce --=20 You are receiving this mail because: You are the assignee for the bug.=