Date: Tue, 8 Feb 2011 11:42:36 +0100 From: =?iso-8859-1?Q?Michael_T=FCxen?= <Michael.Tuexen@lurchi.franken.de> To: Lev Serebryakov <lev@serebryakov.spb.ru> Cc: Karim Fodil-Lemelin <fodillemlinkarim@gmail.com>, pyunyh@gmail.com, jfv@freebsd.org, freebsd-net@freebsd.org Subject: Re: igb driver RX (was TX) hangs when out of mbuf clusters Message-ID: <E3078F5D-6F44-4DFC-9203-44039E9B2549@lurchi.franken.de> In-Reply-To: <197599906.20110208121053@serebryakov.spb.ru> References: <AANLkTikrjkHDaBq%2Bx6MTZhzOeqWA=xtFpqQPsthFGmuf@mail.gmail.com> <197599906.20110208121053@serebryakov.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail-3-1026976568 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On Feb 8, 2011, at 10:10 AM, Lev Serebryakov wrote: > Hello, Karim. > You wrote 8 =D1=84=D0=B5=D0=B2=D1=80=D0=B0=D0=BB=D1=8F 2011 =D0=B3., = 6:29:53: >=20 >> Precisely, the exact same behavior happens (RX hang) if options >> DEVICE_POLLING is _not_ used in the kernel configuration file. I = tried with >> POLLING since someone mentioned that it helped in a case mentioned = earlier >> today. Unfortunately for igb with or without polling yields the same = rx ring >> filing problem. > In my case (em(4), not igb(4) but symptoms are VERY similar) POLLING > (both as kernel option AND "ifconfig em0 polling") options leads to > resets (which drops all connections!) AFTER such kernel messages: >=20 > em0: Watchdog timeout -- resetting > em0: Queue(0) tdh =3D 1302, hw tdt =3D 1265 > em0: TX(0) desc avail =3D 31,Next TX to Clean =3D 1296 Can you apply the attached patch and report what the output for rx_nxt_refresh and rx_nxt_check is? Best regards Michael --Apple-Mail-3-1026976568 Content-Disposition: attachment; filename=patch Content-Type: application/octet-stream; x-unix-mode=0644; name="patch" Content-Transfer-Encoding: 7bit Index: if_igb.c =================================================================== --- if_igb.c (revision 218406) +++ if_igb.c (working copy) @@ -5158,6 +5158,12 @@ SYSCTL_ADD_UQUAD(ctx, queue_list, OID_AUTO, "rx_bytes", CTLFLAG_RD, &rxr->rx_bytes, "Queue Bytes Received"); + SYSCTL_ADD_UINT(ctx, queue_list, OID_AUTO, "rx_nxt_refresh", + CTLFLAG_RD, &rxr->next_to_refresh, 0, + "Next to refresh"); + SYSCTL_ADD_UINT(ctx, queue_list, OID_AUTO, "rx_nxt_check", + CTLFLAG_RD, &rxr->next_to_check, 0, + "Next to check"); SYSCTL_ADD_INT(ctx, queue_list, OID_AUTO, "lro_queued", CTLFLAG_RD, &lro->lro_queued, 0, "LRO Queued"); Index: if_em.c =================================================================== --- if_em.c (revision 218406) +++ if_em.c (working copy) @@ -5137,6 +5137,12 @@ SYSCTL_ADD_ULONG(ctx, queue_list, OID_AUTO, "rx_irq", CTLFLAG_RD, &rxr->rx_irq, "Queue MSI-X Receive Interrupts"); + SYSCTL_ADD_UINT(ctx, queue_list, OID_AUTO, "rx_nxt_refresh", + CTLFLAG_RD, &rxr->next_to_refresh, 0, + "Next to refresh"); + SYSCTL_ADD_UINT(ctx, queue_list, OID_AUTO, "rx_nxt_check", + CTLFLAG_RD, &rxr->next_to_check, 0, + "Next to check"); } /* MAC stats get their own sub node */ --Apple-Mail-3-1026976568 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii > > -- > // Black Lion AKA Lev Serebryakov <lev@serebryakov.spb.ru> > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > --Apple-Mail-3-1026976568--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E3078F5D-6F44-4DFC-9203-44039E9B2549>