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>
