Date: Tue, 25 Mar 2003 15:44:51 -0800 (PST) From: Doug Ambrisko <ambrisko@ambrisko.com> To: Mike Silbersack <silby@silby.com> Cc: src-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/conf options src/sys/netinet ip_output.c Message-ID: <200303252344.h2PNip18098878@www.ambrisko.com> In-Reply-To: <20030324234234.T6129@odysseus.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Silbersack writes: | | FWIW, the two drivers I tested this with (if_xl and if_sis) both flunk. | if_xl tries to fix the situation, but fails, and if_sis goes totally | weird, eating mbufs and rendering the interface unuseable. | | I'll test more interfaces once I have these two fixed. This doesn't surprise me. I fixed this in the ste(4) driver. You can also make this happen to some extent by do a dd etc. into a connection with a small byte count. This makes it easier though. Most of this is probably due to a common cut-n-paste of other drivers. Might also look at tuning down the number of allowable frags in drivers. With 4 ste(4) chips on 3 ports consumed 1.5M of memory! I reduced this in the ste(4) driver as well. We might want to document a good rule of thumb for number of mbuf frags before de-fraging them. Unfortunately this seems to imply you might have to walk the mbuf chain twice. | Mike "Silby" Silbersack | | On Mon, 24 Mar 2003, Mike Silbersack wrote: | | > silby 2003/03/24 21:45:05 PST | > | > FreeBSD src repository | > | > Modified files: | > sys/conf options | > sys/netinet ip_output.c | > Log: | > Add the MBUF_FRAG_TEST option. When compiled in, this option | > allows you to tell ip_output to fragment all outgoing packets | > into mbuf fragments of size net.inet.ip.mbuf_frag_size bytes. | > This is an excellent way to test if network drivers can properly | > handle long mbuf chains being passed to them. | > | > net.inet.ip.mbuf_frag_size defaults to 0 (no fragmentation) | > so that you can at least boot before your network driver dies. :) | > | > Revision Changes Path | > 1.383 +1 -0 src/sys/conf/options | > 1.179 +30 -0 src/sys/netinet/ip_output.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303252344.h2PNip18098878>