Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!newshost.telstra.net!act.news.telstra.net!psgrain!iafrica.com!pipex-sa.net!plug.news.pipex.net!pipex!tube.news.pipex.net!pipex!dish.news.pipex.net!pipex!tank.news.pipex.net!pipex!news.mathworks.com!newsfeed.internetmci.com!swrinde!sgigate.sgi.com!sdd.hp.com!hp-pcd!hpbs2500.boi.hp.com!hpax!cupnews2.cup.hp.com!raj From: raj@cup.hp.com (Rick Jones) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: UDP Performance Tuning Date: 9 Mar 1996 00:39:29 GMT Organization: Hewlett-Packard's Network Computing Division Lines: 26 Message-ID: <4hqk01$ivf@hpindda.cup.hp.com> References: <4hppr5$lbh@post.gsfc.nasa.gov> Reply-To: raj@cup.hp.com NNTP-Posting-Host: hpindio.cup.hp.com X-Newsreader: TIN [version 1.2 PL2.2] Karen Lolio x2857 (klolio@nastg.gsfc.nasa.gov) wrote: : The error was ENOBUF - no system buffers available. : Why does this happen under UDP? Is this a bug, if so, is : there a fix? Are there tunable kernal parameters? If so, where are : they? Thanks!! It is not a bug - UDP has no flow control, so it is possible to send datagrams faster than the net can accept them. This causes the driver's transmit queue to fill, which will cause ENOBUFS to be sent back. You want to throttle your application so that it does not send data faster than the network - either by pausing for sime short period of time on each ENOBUFS, or by more proactive pacing. TCP did well because it has some flow control - the TCP window, and likely that window was small enought to ensure that it did not overflow the transmit queue. On those occasions where it might have, it will likely have slowed itself down by reducing its "congestion window" for a time. Sometimes, going slower in the beginning means going faster in the end... rick jones http://www.cup.hp.com/netperf/NetperfPage.html