On Thu, 15 Dec 2005, Stephen Hemminger wrote:

> On Fri, 16 Dec 2005 03:26:31 +0100
> Andi Kleen <[EMAIL PROTECTED]> wrote:
> 
> > On Thu, Dec 15, 2005 at 08:35:32PM -0500, Bill Fink wrote:
> > > On Fri, 16 Dec 2005, Andi Kleen wrote:
> > > 
> > > > > It appears that it is getting CPU starved for some reason (note the
> > > > > 43%/40% transmitter CPU usage versus the 99%/99% CPU usage for the
> > > > > 2.6.12.6 case).
> > > > 
> > > > What happens when you turn off tso in ethtool?
> > > 
> > > Thanks!!!  That did the trick.
> > 
> > TSO is still a bit of work in progress. The old 2.6.12 TSO code
> > actually ignored the congestion window and was illegal in benchmarks etc
> > (and might have even been dangerous to the internet). That was fixed,
> > but performance still didn't fully recover. It's a tricky problem.
> 
> And it wasn't till 2.6.15 that we got the fix in to correctly
> increase cwnd with TSO.

Update:

I just now tested with 2.6.15-rc7 and it seems to work fine with
TSO enabled.

chance% cat /proc/version
Linux version 2.6.15-rc7-bf-smp ([EMAIL PROTECTED]) (gcc version 3.2 20020903 
(Red Hat Linux 8.0 3.2-7)) #1 SMP Wed Dec 28 19:35:55 EST 2005

[EMAIL PROTECTED] ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on

chance% nuttcp -w2m 192.168.88.8
 6054.1250 MB /  10.01 sec = 5073.1546 Mbps 100 %TX 72 %RX
chance% nuttcp -r -w2m 192.168.88.8
 6090.4375 MB /  10.01 sec = 5103.6174 Mbps 100 %TX 70 %RX

That's expected TCP performance levels of slightly over 5 Gbps,
although I thought I might get some CPU back with TSO enabled
(note the transmitter is still pegged at 100%).

Would the following patch be at all useful for the 2.6.14.x stable
series, since enabling TSO there causes a 40% or greater TCP performance
penalty, or is 2.6.15 final so imminenent that it wouldn't be
considered useful?

Signed-off-by: Bill Fink <[EMAIL PROTECTED]>

--- linux-2.6.14.3.orig/drivers/net/ixgb/ixgb_main.c    2005-11-24 
17:10:21.000000000 -0500
+++ linux-2.6.14.3/drivers/net/ixgb/ixgb_main.c 2005-12-28 01:06:05.000000000 
-0500
@@ -445,7 +445,8 @@
                           NETIF_F_HW_VLAN_RX |
                           NETIF_F_HW_VLAN_FILTER;
 #ifdef NETIF_F_TSO
-       netdev->features |= NETIF_F_TSO;
+       /* TSO not performant at present - disable by default */
+       netdev->features &= ~NETIF_F_TSO;
 #endif
 
        if(pci_using_dac)
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to