Skip site navigation (1)Skip section navigation (2)
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>