*BSD News Article 78332


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.vbc.net!samba.rahul.net!rahul.net!a2i!bug.rahul.net!rahul.net!a2i!in-news.erinet.com!ddsw1!news.mcs.net!news.uoregon.edu!symiserver2.symantec.com!usenet
From: tedm@agora.rdrop.com
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: 100BaseT tuning considerations?
Date: 14 Sep 1996 17:11:45 GMT
Organization: Symantec Corporation
Lines: 41
Message-ID: <51ep0h$t3q@symiserver2.symantec.com>
References: <4vin1s$4um@server.cs.vt.edu> <4vsr44$iom@hpindda.cup.hp.com> <514p1f$75h@nyx10.cs.du.edu> <DxKIq4.ICq@interactive.net>
Reply-To: tedm@agora.rdrop.com
NNTP-Posting-Host: 198.6.34.1
X-Newsreader: IBM NewsReader/2 v1.2.5

In <DxKIq4.ICq@interactive.net>, ritz@onyx.interactive.net (Chris Mauritz) writes:
>Timothy Hu <thu@nyx10.cs.du.edu> wrote:

>Or if you want a faster card with lower cpu utilization, get one
>based on the DEC chipset (the SMC 10/100 cards come to mind). 
>Network Computing did a head to head test of the Intel/3COM/SMC

Yes, their always doing NIC comparisons, that's their favorite thing to do.
Unfortunately, they seem to think that only Novell Netware and NT exist as
server operating systems.  A NIC test on Novell has absolutely no relevance
to FreeBSD.

As far as the factors you ask about, there are basically 3 ways to get data
out of core memory and into a bus peripheral card that are used by network
adapters.  First is IN/OUT instructions referred to as PIO mode, next is a
"shared memory" scheme where the processor does a bunch or "rep mov"
instructions to adapter card memory, last is some kind of DMA/Busmastering
scheme where the CPU sets up a buffer in RAM and the card pulls the data
out of memory.

Unfortunately, it is not possible to make generalizations such as:

"since busmastering requires lower CPU utilization than PIO mode, therefore
card X which only does PIO is slower than card Y"

simply because how these 3 schemes are implemented in hardware varies 
tremendously between card manufacturers, motherboards and quality of adapter
components.  You can the identical chipset used in different NICS from
different manufacturers show different results, just because one manufacturer
is saving a nickle per card by using a cheaper logic gate, for example.

Also, how these schemes are implemented varies.  You can have a PIO card
take fewer instructions than a "shared memory" card simply because the
shared memory card uses a brain-dead register set that takes tons more
instructions to set up to make the transfer.

Plus that, the device driver talking to the card varies tremendously.  If you have
a horribly written device driver on great hardware, it is going to be worse than
a great device driver on mediocre hardware.

Ted