em network issues

Bill Paul wpaul at FreeBSD.ORG
Fri Oct 20 22:04:32 UTC 2006


> >
> > Just out of curiosity, what sort of torture tests does Intel do, in
> > general, on the em driver on FreeBSD? One thing that I've found which
> > works wonders at exposing race conditions is the Smartbits bi-directional
> > IP forwarding test. Put two NICs in a system, configure for it for IP
> > forwarding, then connect the Smartbits to each port and run the
> > SmartApps router test in bi-directional mode. At 64 bytes per frame,
> > it will try to push 2.96 million packets/second through both ports
> > simultaneously (1.48 million in each direction). Of course, you won't
> > actually be able to forward all the traffic, but the interfaces (not
> > to mention the OS) should continue running regardless.
> >
> > This test exercises both the RX and TX paths and generates hundreds of
> > thousands of interrupts per second. You'd be amazed at the sort of
> > things you can discover with it. The downside of course is that a
> > Smartbits with gigE ports isn't cheap, but I'd be surprised if Intel
> > didn't have one kicking around somewhere.
> 
> Oh sure, they have Smartbits and a host of other hardware, but remember
> that this group tests Windows, Linux, FreeBSD, and a number of special
> case stuff. And guess what gets the most attention.... uhuh it isnt us :)

Yeah yeah, I know.

> The good thing is I believe most of the same battery of tests that run on
> Linux also get run against FreeBSD,

Okay, but what are these tests? Inquiring minds really do want to know. :)

> so its significant, but something
> like what you are talking about is probably only done when there's a
> problem being investigated.

Uhm. Well, in my VxWorks driver development process, the Smartbits
bi-directional torture test is mandatory (except in cases where the
hardware won't permit it, i.e. boards with only one ethernet port).
I decided it should be so after encountering multiple pre-existing
VxWorks drivers that I could clobber with a simple burst of UDP
traffic from ttcp running on my office workstation. I would rather not
have my own code make me look that foolish. (I look foolish for plenty
of other reasons.)

The amount of time needed to set up the test is trivial, assuming
you've already got a test system up and running with your driver code,
and it doesn't take that long to run. Of course, I'm biased since I've
run the tests many times, and have easy access to the hardware and
software.

-Bill

--
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at windriver.com | Wind River Systems
=============================================================================
              <adamw> you're just BEGGING to face the moose
=============================================================================


More information about the freebsd-stable mailing list