Return to BSD News archive
Newsgroups: comp.unix.bsd.freebsd.misc Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!inferno.mpx.com.au!news.unimelb.EDU.AU!munnari.OZ.AU!news.hawaii.edu!ames!usenet.kornet.nm.kr!news.kreonet.re.kr!usenet.seri.re.kr!news.cais.net!news.jsums.edu!gatech!swrinde!howland.reston.ans.net!vixen.cso.uiuc.edu!uwm.edu!news.inap.net!news1!not-for-mail From: root@dyson.iquest.net (Charlie Root) Subject: Re: FreeBSD Losing to Linux - Please Help X-Nntp-Posting-Host: dyson.iquest.net Message-ID: <4k0n9h$815@dyson.iquest.net> Sender: news@iquest.net (News Admin) Organization: John S. Dyson's Machine References: <4ju4rb$67q@post.gsfc.nasa.gov> Date: Thu, 4 Apr 1996 14:45:05 GMT Lines: 50 In article <4ju4rb$67q@post.gsfc.nasa.gov>, Karen Jefferson x2857 <kjeffers@nastg.gsfc.nasa.gov> wrote: > >We are in the midst of a development project which uses alot of UDP >and serial communications. > >Although our preference had been to use FreeBSD, the UDP >performance was terrible (200 Kbps over Ethernet), and we >kept getting ENOBUF errors which makes FreeBSD an unacceptable choice. >Our previous posts for possible parameters to tune didn't >turn up anything helpful, and messages to freebsd.org haven't been >answered yet. > The UDP performance on FreeBSD is basically wire speed. On BSD, at least an indication of udp packets being dropped for transmission is given. UDP writes that return ENOBUF should probably be followed by a wait of some kind and retry (many times, ENOBUF means retry later.) On other OSes it is typical to return a success, even though the packet is being dropped in the local machine. To see what kind of UDP performance you can really get, use TTCP between two machines. Discussion to clarify the situation: With fast machines, almost any OS can saturate an ethernet with UDP packets. UDP has NO flow control between machines (unlike TCP) on any OS. If you write an application to blast UDP packets between machines, you will create packets much more quickly than the network can absorb them. The ENOBUF return on FreeBSD is telling you that is happening. It is technically legal to return success on such an error, because it is OK (but not desirable) to drop udp packets. FreeBSD is just giving you more info. I guess to be equiv to those OSes, ignore ENOBUF error return??? I haven't looked at your machine, but if the above is not your problem, it is possible that there is a misconfiguration of a network card (incorrect IRQ or somesuch.) I dont see that is likely. > >Is there anything we can do to improve the UDP performance of FreeBSD? >Why does it care about buffering for UDP? Please respond via email >to tjeffers@nastg.gsfc.nasa.gov. Thanks. > Actually, as I said above, FreeBSD is returning more info than the other OSes (modulo hardware problems.) On a 486/66 <--> 386/25, I could easily get 600-800K bytes/sec between the two machines with very slow NE2000 e-net adapters. John dyson@freebsd.org