From owner-freebsd-net@FreeBSD.ORG Thu Aug 7 10:27:12 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 618) id ADB9937B401; Thu, 7 Aug 2003 10:27:12 -0700 (PDT) In-Reply-To: <20030807105932.F24257@duey.wolves.k12.mo.us> from Chris Dillon at "Aug 7, 2003 11:11:50 am" To: cdillon@wolves.k12.mo.us (Chris Dillon) Date: Thu, 7 Aug 2003 10:27:12 -0700 (PDT) X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20030807172712.ADB9937B401@hub.freebsd.org> From: wpaul@FreeBSD.ORG (Bill Paul) cc: freebsd-net@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci if_rl.c if_rlreg.h X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Aug 2003 17:27:13 -0000 > Copied to -net rather than the cvs lists... > > On Thu, 7 Aug 2003, Bill Paul wrote: > > > Tested with the Xterasys XN-152 NIC (hard to beat $29 for a gigE > > NIC). > > That's definately not a bad price. Do the remarks about the earlier > rl cards still apply to the newer generation of rl chips, or has > RealTek improved them to the point where they are actually on par with > their peers? In other words, what's your take on their performance > and reliability compared to the Intel or Broadcom chipsets? The 8139C+ has much better performance than the older 8139 series. The main problem with the 8139 isn't so much throughput as it is frame rate. With a fast enough CPU, you might get 100Mbps out of it, but it has trouble sustaining that bandwidth as frame size decreases. The 8139C+ has a very straightforward descriptor-based DMA mechanism, and with the on-board timer you can do some pretty effective TX interrupt moderation. With my Athlon 900Mhz test box at home, I was able to generate 120,000 frames/sec with my very simpleminded raw transmit test (UDP blasting with ttcp). The older 8139 is lucky if it can do 40,000 frames/sec on the same box. I haven't had a chance to properly benchmark the 8169 gigE chip yet. I need to sneak it into one of the lab machines at work to really compare it head-to-head with the Intel and Broadcom NICs. Unfortunately, the Xterasys XN-152 is a 32-bit 'desktop' card, and all the other sample gigE NICs I have are 64-bit 'server class' cards, so it automatically has a strike against it. (I could probably level the playing field by putting the other NICs into 32-bit slots though.) Pros: - The 8169 is very easy to program. RealTek has been very peculiar in how it's releasing documentation for it though. They had the manual on their site for a while, then took it down. I have a copy at: http://www.freebsd.org/~wpaul/RealTek. Note that it has almost exactly the same API as the 8139C+. - There doesn't appear to be any alignment restrictions for data buffers on either RX or TX (so no copies on RX needed). - Has TCP, UDP and IP checksum offload, TCP large send, jumbo frame and VLAN tagging/stripping support (all the usual gigE features). - Has normal and high priority TX rings (rl(4) currently uses just one ring). - Dirt cheap. The NIC costs $26.50, plus shipping. (Shipping via U.S. Mail to SF cost only a couple dollars more.) This is way less than even the cheapest National Semiconductor DP83820-based card. Cons: - Finding an 8169-based NIC in the U.S. market is ridiculously difficult. I ordered my card from www.mrtechus.com, which appears to be based in Los Angeles. I have yet to see either an 8169 or 8139C+ card in a retail store (although I have not been to Fry's lately). - The Intel and Broadcom NICs have more advanced interrupt moderation features. I was able to achieve some TX interrupt moderation using the 8139C+/8160's on-board timer, but haven't figured out a proper way of doing RX interrupt moderation yet. - High-end Broadcom NICs can have up to 4 TX rings rather than 2. - High-end Broadcom NIC also has a very sofisticated RX filtering mechanism that can be use to prioritize traffic into different RX queues. - Retains the same RX filtering mechanism as the original 8139 (1 perfect filter for station address, 64-bit multicast hash table). Based on what I know so far, I would definitely recommend it over a board with a NatSemi DP83820: it's much, much cheaper and doesn't have the 83820's requirement for 64-bit-aligned RX buffers. I can't really compare it to the Intel or Broadcom devices until I run some benchmarks on it. -Bill -- ============================================================================= -Bill Paul (510) 749-2329 | Senior Engineer, Master of Unix-Fu wpaul@windriver.com | Wind River Systems ============================================================================= "If stupidity were a handicap, you'd have the best parking spot." =============================================================================