Subject: Re: bad TSO performance in 2.6.9-rc2-BK

From: Andi Kleen <[email-masked]>
Date: Wed, 29 Sep 2004 01:27:57 +0200

On Tue, 28 Sep 2004 15:57:06 -0700
"David S. Miller" <[email-masked]> wrote:

> On Wed, 29 Sep 2004 00:33:44 +0200
> Andi Kleen <[email-masked]> wrote:
> 
> > Looking at my tcpdumps and comparing TSO on/off I see a quite
> > strange effect. It only acks on every ~25th packet with TSO off
> > but every ~16th packet with TSO on.
> > 
> > Receiver is a 2.6.5 kernel, it's weird that it violates the
> > ack every two MSS rule.
> 
> Your system is SMP and packet reordering is occuring?

The sender is SMP, but the receiver is UP.
I tcpdumped at the receiver.

> If so, you can lock the interrupts of the card
> to a specific cpu to see if that makes the problem go
> away.
> 
> Another possibility is tcpdump dropping some of the ACKs

Possible, unfortunately there are no counters for this
(anyone on netdev motivated to add them to each packet drop
in PF_PACKET and dev.c?) 

> or some bug in the TCP code of your "interesting experiment
> based upon 2.6.5" kernel :-)

Possible. 

I tried to re-test it but I didn't get very far because the kernel
with your patch crashes regularly during netperf. No serial console,
but the backtrace is {tcp_ack+877} {tcp_rcv_established+350} ... 
Before that there are a few "retrans out leaked" messages.

-Andi