Subject: Re: Gigabit ethernet (gsip) on NetBSD 1.5.2
To: None <tech-net@netbsd.org>
From: Ignatios Souvatzis <is@netbsd.org>
List: tech-net
Date: 12/23/2005 09:09:00
Hi,
On Thu, Dec 22, 2005 at 04:04:04PM -0800, dfinch@entrisphere.com wrote:

> I now get a gig connection (below), but performance is similar to 100Mbs
> link.
> 
> gsip0:
> flags=3D8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> =
> mtu 1500

[...]

> I am getting these in the message log:
> 
> Dec 21 22:35:43 itbsd /netbsd: gsip0: transmit FIFO underrun; increasing
> Tx drain threshold to 544 bytes 
> Dec 21 22:55:55 itbsd /netbsd: gsip0: transmit FIFO underrun; increasing
> Tx drain threshold to 576 bytes  
> Dec 21 22:55:55 itbsd /netbsd: gsip0: transmit FIFO underrun; increasing
> Tx drain threshold to 608 bytes

Hm, as long as those aren't repeating themselves too often, but only 
appear when first using the interface, those are ok. (I don't know whether
the driver tries to reduce the threshold value.)

> Any ideas on why performance is so bad?  Thanks so much in advance!

Besides the obvious - the PCI bus isn't really designed to full-feed
a Gigabit link, I think it can barely sustain one direction - I'm 
wondering why the interface is in PROMISCuous mode. This will drain
resources from the machine, especially when tcpdump or something
similar is used... 

Another thought: what does the switch say about the link state? Does
it agree it's 1000MBit/s and full duplex?

Regards,
	Ignatios Souvatzis
-- 
seal your e-mail: http://www.gnupg.org/