Date: Fri, 14 Oct 2005 09:11:00 -0700 (PDT) From: Danial Thom <danial_thom@yahoo.com> To: Drew Linsalata <drew@gothambus.com> Cc: freebsd-isp@freebsd.org Subject: Re: Multiport NICs - VLAN and Polling Support? Message-ID: <20051014161100.33377.qmail@web33306.mail.mud.yahoo.com> In-Reply-To: <20051013204631.51300.qmail@mail.gothambus.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Drew Linsalata <drew@gothambus.com> wrote: > Danial Thom writes: > > > Intel makes a 4 port em card, so what is so > hard > > about finding it, as every major distributor > > carries it? > > Intel makes lots of cards, with lots of > different chipset variants. It's > not a stretch to ask the community about > experiences with particular cards > that work correctly with the em driver. > > > > > Why anyone would be so clueless as to use > polling > > with an em card is beyond the scope of this > > discussion, but I have to admit it has great > > entertainment value! > > Great. There's one in every crowd. > > I guess I can humor you, though. em is listed > as a driver that supports > polling, which is widely regarded as a good > thing from a performance > standpoint. It happens to be one of only two > drivers under 4.11 that > support BOTH polling and hardware VLAN (at > least according to the polling > and vlan man pages). Tell me, oh mighty > terminal jockey, why is polling > with an em card classified as an endeavor for > the clueless? Because intel parts have programmable hold-offs (interrupt throttling rate) that allow you to tell the card exactly how frequently (or infrequently) to generate interrupts. So its assinine to use a kludge like polling, which adds tens of thousands of cpu cycles in overhead to your system when you can do it with zero overhead using the hardware mechanisms. polling is almost never a performance advantage for ethernet, as virtually all modern controllers have some sort of interrupt moderation built-in. The only reason that anyone has ever thought that polling was a performance advantage is that is screws up the accounting so things "appear" to be faster. The only thing it really does is make a trade off between livelock and dumping buckets of packets. I hate to break it to you, but adding thousands of "clock ticks" to your system is not a performance enhancement. The fact that FreeBSD doesn't properly account for the overhead in its measurements shouldn't be surprising, as most OS's don't. Set your receive rings to 512 and you can set interrupt throttling to 1/50th of your max packets/second (or even 1/100th for a router). I've used a setting of 6000 at a 600K pps rate with very little noticable latency to end users. DT __________________________________ Yahoo! Music Unlimited Access over 1 million songs. Try it free. http://music.yahoo.com/unlimited/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051014161100.33377.qmail>