netdev
[Top] [All Lists]

Re: [PATCH] TSO Reloaded

To: "David S. Miller" <davem@xxxxxxxxxxxxx>
Subject: Re: [PATCH] TSO Reloaded
From: Anton Blanchard <anton@xxxxxxxxx>
Date: Fri, 6 May 2005 17:10:05 +1000
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20050505231345.4296d9b5.davem@davemloft.net>
References: <20050504230731.12be1bc3.davem@davemloft.net> <20050506043653.GD8255@krispykreme> <20050506054516.GE8255@krispykreme> <20050505231345.4296d9b5.davem@davemloft.net>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.9i
 
> I know what is causing the breaks, it's the "cache line align" crap
> in tcp_sendmsg().
> 
> Comment out this alignment code in net/ipv4/tcp.c and see how it goes:
> 
>                                       /* If page is cached, align
>                                        * offset to L1 cache boundary
>                                        */
>                                       off = (off + L1_CACHE_BYTES - 1) &
>                                             ~(L1_CACHE_BYTES - 1);
> 
> This alignment causes TSO coalescing to fail at these spots.
> 
> You should not see this effect when sendfile() is used for
> the transfer.

Nice work! Its looking much better now.

Anton

1500 MTU:
eth0 data: 74 frags:
eth0 data: 66 frags: 2892 4
eth0 data: 66 frags: 1200 1692 4
eth0 data: 66 frags: 2400 492 4
eth0 data: 66 frags: 2892 4
eth0 data: 66 frags: 704 744
eth0 data: 66 frags: 3352 4096 1236 4
eth0 data: 66 frags: 2856 36 4

1500 MTU+sendfile:
eth0 data: 74 frags:
eth0 data: 66 frags: 2892 4
eth0 data: 66 frags: 1200 1692 4
eth0 data: 66 frags: 2400 492 4
eth0 data: 66 frags: 2892 4
eth0 data: 66 frags: 704 744
eth0 data: 66 frags: 3348 4
eth0 data: 66 frags: 4092 4

9000 MTU:
eth0 data: 74 frags:
eth0 data: 66 frags: 4096 4096 4096 4096 1508 4
eth0 data: 66 frags: 2584 4096 2268
eth0 data: 66 frags: 1828 4096 3024
eth0 data: 66 frags: 1072 4096 4096 4096 4096 4096 4096 1192 4
eth0 data: 66 frags: 2900 4096 4096 4096 2704 4
eth0 data: 66 frags: 1388 4096 3464
eth0 data: 66 frags: 632 4096 4096 4096 4096 876 4

9000 MTU+sendfile:
eth0 data: 74 frags:
eth0 data: 66 frags: 4096 4096 4092 4
eth0 data: 66 frags: 4096 4096 4096 4096 1508 4
eth0 data: 66 frags: 2584 4096 4092 4
eth0 data: 66 frags: 4096 4096 4096 4096 1508 4
eth0 data: 66 frags: 2584 4096 4096 4096 3020 4
eth0 data: 66 frags: 1072 4096 4096 4096 4096 436 4
eth0 data: 66 frags: 3656 4096 4096 4096 1948 4

<Prev in Thread] Current Thread [Next in Thread>