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>