ixgb TSO performance degrades by ~30% between 7.4 and 8.2/9.0/9.1

John Baldwin jhb at freebsd.org
Wed Oct 24 18:16:17 UTC 2012


On Wednesday, October 24, 2012 11:38:01 am Jack Vogel wrote:
> On Wed, Oct 24, 2012 at 8:07 AM, John Baldwin <jhb at freebsd.org> wrote:
> 
> > On Tuesday, October 23, 2012 6:57:01 pm Garrett Cooper wrote:
> > > Hi,
> > >
> > > Doing some poking around at the ixgb driver with a card I have at
> > > $work using netperf and two machines hooked up over crossover, I
> > > discovered that while ixgb's throughput performance was fantastic on
> > > 7.3/7.4, thoughput performance of the card is degraded on 8.2/9.0/9.1
> > > by ~30% (9400Mbps on 7.4 -> 6294Mbps on 9.0 for example). LRO
> > > performance on the other hand is fantastic and doesn't degrade with
> > > the card across FreeBSD versions. Performance remains constant with
> > > ixgb across 8.2/9.0/9.1. I didn't observe the CPU usage.
> >
> > Interesting, maybe as an experiment try hacking the #ifdef's to use
> > if_start() instead of if_transmit().
> >
> >
> That's not a bad idea, I have had cases, for instance some UDP intensive
> loads, where I found better performance with the old interface. This was one
> reason why I had wanted to change the ifdef's to not just be an OS version
> level, making either more easily selectable.

In this case, if using if_start() helps, then I'd like Garrett to try
my current ixgbe patch from the other thread as well to reduce concurrent
RX processing.

-- 
John Baldwin


More information about the freebsd-net mailing list