Date: Fri, 26 Feb 1999 02:32:55 +0900 From: Kenjiro Cho <kjc@csl.sony.co.jp> To: Graeme Brown <graeme.brown@bt-sys.bt.co.uk> Cc: "FreeBSD-Net (FreeBSD.Org) List" <freebsd-net@freebsd.org>, Alan ONeill <alan.oneill@bt-sys.bt.co.uk>, Arie van Breene <arie@efficient.com> Subject: Re: Troubles with BSDATM and PVCs Message-ID: <199902251732.CAA29017@hotaka.csl.sony.co.jp> In-Reply-To: Your message of "25 Feb 1999 16:02:03 %2B0100." <n1292164143.57598@maczebedee>
next in thread | previous in thread | raw e-mail | index | archive | help
Graeme, >> Has anyone seen/heard of reliability problems using BSDATM in >> conjunction with ENI ATM NICs or more specifically using ENI cards >> with ALTQ pvcsifs ? Could you try the patch attached below? I fixed a bug back in October but somehow it slipped away when I made altq-1.1.3. I noticed this mistake a couple of days ago. (the fix was also made to 3.0-current.) bug description: When the entire transmit buffer is used, the transmitter thinks that the buffer is empty (WRTX == RDTX) and stops sending. The driver thinks the buffer is full, which leads to a lockup. This happens only when - the sending rate is set to a small value by the hardware shaper (to overload the NIC) - overload the NIC with small UDP packets (specific packet size is required to fit into the total buffer size) If your problem does not go away, - enable DDB in your kernel (options DDB) - when you see the problem, go to DDB by Alt-Cntrl-ESC type "call en_dump(0,1)" (the first argument is the device unit number and the second argument is dump level) send me the output --Kenjiro --- midway.c- Wed Oct 7 20:54:18 1998 +++ midway.c Thu Oct 8 12:24:34 1998 @@ -2237,7 +2237,11 @@ goto dequeue_drop; } - if (launch.need > sc->txslot[chan].bfree) { + /* + * note: don't use the entire buffer space. if WRTX becomes equal + * to RDTX, the transmitter stops assuming the buffer is empty! --kjc + */ + if (launch.need >= sc->txslot[chan].bfree) { EN_COUNT(sc->txoutspace); #ifdef EN_DEBUG printf("%s: tx%d: out of transmit space\n", sc->sc_dev.dv_xname, chan); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902251732.CAA29017>