Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Dec 2005 21:59:26 -0800
From:      "Ted Mittelstaedt" <tedm@toybox.placo.com>
To:        "Drew Tomlinson" <drew@mykitchentable.net>
Cc:        Michael Vince <mv@roq.com>, danial_thom@yahoo.com, freebsd-questions@freebsd.org, Kris Kennaway <kris@obsecurity.org>
Subject:   RE: Polling For 100 mbps Connections? (Was Re: Freebsd Theme Song)
Message-ID:  <LOBBIFDAGNMAMLGJJCKNIEAGFDAA.tedm@toybox.placo.com>
In-Reply-To: <439EDF2D.2050701@mykitchentable.net>

next in thread | previous in thread | raw e-mail | index | archive | help


>-----Original Message-----
>From: owner-freebsd-questions@freebsd.org
>[mailto:owner-freebsd-questions@freebsd.org]On Behalf Of Drew Tomlinson
>Sent: Tuesday, December 13, 2005 6:48 AM
>To: Ted Mittelstaedt
>Cc: Michael Vince; danial_thom@yahoo.com; freebsd-questions@freebsd.org;
>Kris Kennaway
>Subject: Re: Polling For 100 mbps Connections? (Was Re: Freebsd Theme
>Song)
>
>
>Ted Mittelstaedt wrote, On 12/13/2005 12:44 AM:
>
>>
>>
>>>-----Original Message-----
>>>From: Drew Tomlinson [mailto:drew@mykitchentable.net]
>>>Sent: Monday, December 12, 2005 12:30 PM
>>>To: Ted Mittelstaedt
>>>Cc: Michael Vince; danial_thom@yahoo.com;
>freebsd-questions@freebsd.org;
>>>Kris Kennaway
>>>Subject: Polling For 100 mbps Connections? (Was Re: Freebsd
>Theme Song)
>>>
>>>
>>>On 12/12/2005 8:13 AM Ted Mittelstaedt wrote:
>>>
>>>
>>>
>>>>Michael,
>>>>
>>>> Fundamentally, here's the problem Danial is claiming exists:
>>>>
>>>>it takes a certain amount of time to get the packet clocked in
>>>>
>>>>
>>>>from the network into the ethernet receiver.  This is hardware
>>>
>>>
>>>>dependent and cannot be changed.
>>>>
>>>>It takes a certain amount of time to get the packet out of
>>>>the hardware in the ethernet card into main ram, this also
>>>>hardware dependent and cannot be changed. (unless the device
>>>>driver is terribly inefficient, which we will assume it's not)
>>>>
>>>>Once in main ram, the information in the packet has to go through
>>>>a number of code statements.  The more code statements the
>>>>longer the information in the packet is sitting around in
>>>>the FreeBSD system's memory.
>>>>
>>>>It then takes a certain amount of time to get the information
>>>>out of main memory into the other sending ethernet nic's buffers,
>>>>
>>>>and it takes time to get it out of the sending nic back to the
>>>>wire.
>>>>
>>>>Danial is claiming the slowness is in the main ram section of
>>>>things, not in the ethernet driver code.
>>>>
>>>>polling makes the ethernet driver more efficient at high data
>>>>rates, but it does nothing for the speed of processing within
>>>>the TCPIP stack itself.  At low data rates polling is less
>>>>efficient than the interrupt method.  And unless the nic driver
>>>>is terribly inefficient to start with, the time it adds to the
>>>>packet path in the system is minor compared to the time spent
>>>>in the TCP/IP stack.
>>>>
>>>>Ted
>>>>
>>>>
>>>>
>>>>
>>>Thanks for the explanation.  So would polling be beneficial or
>>>detrimental for a 100 mbps Ethernet card?
>>>
>>>
>>
>>Yes, if you were running 100Mbt's of bandwidth through it.
>>
>>
>
>I assume you mean "yes it's beneficial"?  :)
>

Yes. :-)

>>>Not sure if 100 mbps is
>>>considered "high" or "low" speed.  I'm specifically interested in
>>>NetGear cards using the dc driver or DLink cards using the rl driver.
>>>
>>>
>>>
>>
>>The rl chipset isn't known as a very good chipset. YMMV
>>
>>
>
>Yeah, I've heard that a lot.  It was an old card I had lying around and
>it seems to work OK for me.  I'm not using it for anything other that
>connecting to a 802.11b wireless bridge.  Very little traffic.
>

This post is passing through 2 of these cards on my home BSD router.

Fortunately these days since so many mboards are coming with onboard
ethernet, the used market is awash in nice PCI ethernet cards.

>>Some of the Netgear cards use clone 21143 chipsets which are
>>extremely inferior to the real thing.  In particular if your
>>Netgear card is using a PNIC chipset it is pretty bad with serious
>>performance penalty.  This is documented in Section 4 of the
>dc manpage.
>>
>>
>
>This is disapointing.  I was under the impression that NetGear cards
>were pretty good.  But now I looked closer at dmesg.boot and see I have
>the PNIC chipset you mention.  I'll read the dc man page to see what
>penalties I'm suffering.
>
>>People seem to have good results with polling on the fxp cards.
>>
>>
>
>Ah, the built in interface on a HP e60 server I have.  It's an old dog
>used as a file server.  It has been nothing but reliable and is still
>chuggin' along just fine.  I'll enable polling on it and see if there's
>any noticeable improvement in transfer rates.  The machine that
>typically is used for large file transfers to and from the e60  is a
>Windows XP box that has a Nvidia Nforce 4 chipset and whatever
>intergrated ethernet port that comes with that chipset.  Are there any
>known issues with this setup that would invalidate my test?
>

Yes.  The old dog may not be able to take packets off the fxp chip
fast enough if your hitting it with 100Mbt of data - which your Nforce
chipset running on a nice new multigigahertz mboard is probably able
to do.  This is a CPU speed thing not an architecture thing, and polling
won't make any difference.  But, OTOH, windows is pretty inefficient
so the network performance of a multigigahertz windows box might
just equal that of a under-a-gigahertz mboard running UNIX.

Ted




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