Date: Sun, 4 Dec 2005 12:26:19 +0100 From: Stefan =?iso-8859-1?Q?E=DFer?= <se@FreeBSD.org> To: Vincent Blondel <vincent@xtra-net.org> Cc: stable@freebsd.org Subject: Re: tx underrun ??? Message-ID: <20051204112619.GC8468@StefanEsser.FreeBSD.org> In-Reply-To: <22759.192.168.1.25.1133342418.squirrel@192.168.1.25> References: <22759.192.168.1.25.1133342418.squirrel@192.168.1.25>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2005-11-30 10:20 +0100, Vincent Blondel <vincent@xtra-net.org> wrote: > > Hello all, > > When having a look at log files on my web servers, I regulary see next output on the 3COM ethernet interfaces : > > > xl1: transmission error: 90 > xl1: tx underrun, increasing tx start threshold to 120 bytes > xl1: transmission error: 90 > xl1: tx underrun, increasing tx start threshold to 180 bytes > xl1: promiscuous mode enabled > xl1: promiscuous mode disabled > > Can somebody explain me what it is and if this situation is normal ? Yes, that's normal. The driver starts putting data on the Ethernet link before the whole packet has been fetched via the PCI bus, under the assumption, that the PCI bus is much faster than the network link. If there are more competing devices on the bus, then the buffer in the controller chip will run out of data (transmitter underrun) and the packet will be garbled (will be sent with a wrong checksum to indicate this). The driver will then increase the amount of data to prefetch (slightly incresing the latency, since it will start sending the packet a few microseconds later). Thus this is kind of a self-tuning of the driver: It starts with an optimistic assumption that the Ethernet chip will get access to the PCI bus with little delay whenever it requests it, but in case this assumption does not hold, the transmission is delayed slightly after loss of one packet (i.e. to avoid more packets to be lost) until the transmission always succeeds with the minimum acceptable amount of prefetching and corresponding delay. Regards, STefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051204112619.GC8468>