Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Mar 1999 22:56:52 -0500 (EST)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        hackers@freebsd.org
Subject:   Gigabit ethernet revisited
Message-ID:  <199903190356.WAA02769@skynet.ctr.columbia.edu>

next in thread | raw e-mail | index | archive | help
Well, I'm still trying to squeeze the best possible performance out of
the Tigon 2, but I've run into a bottleneck that I can't seem to sort
out. First of all, transmission speed seems just fine: with jumbo
frames enabled, I can blast 8K UDP packets at 840Mbps. (With the
normal 1500byte MTU, I can get around 630Mbps. This is all without
checksum offloading.)

The problem is on the receive side. When I send all these UDP packets,
the receiving host drops about 30% of them. Now, I know what you're
going to say: UDP is unreliable, blah blah. But this is going through
a single fiber patch from one host to another, so there's really
nowhere for frames to get lost, assuming nice fast transfers between 
the NIC and the host. What seems to be happening is that while PCI read
performance (transfering from host to NIC) is very good, PCI write
performance (transfering from NIC to host) sucks. At the very least,
it's about half what I think it should be. The nic stats counters
show quite a few nicDmaWriteRingFull and nicNoMoreWrDMADescriptors
errors, which means that the NIC is receiving the frames but the
bus isn't transfering them to the host fast enough.

The machines I'm using now are Dell Precision 410 workstations, each
with one 450Mhz Pentium II CPU, 128MB of RAM and Intel 82443BX PCI
chipsets.

The manual says that there are certain things you have to do to insure
that PCI Write and Invalidate is turned on, which I think I'm doing
correctly. The 'write and invalidate' bit seems to be set in the
PCI command register. I don't have a PCI bus analyzer so I'm sort
of in the dark. I don't think I've done anything to horribly
pessimize the receive handling code. I'm starting to run out of
things to try. The latest driver revision is at
http://www.freebsd.org/~wpaul/Alteon/3.0/tigon.tar.gz. The manuals
for the Tigon chip are at http://www.alteon.com/support/openkits.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903190356.WAA02769>