netdev
[Top] [All Lists]

Re: [PATCH] TSO Reloaded

To: Anton Blanchard <anton@xxxxxxxxx>
Subject: Re: [PATCH] TSO Reloaded
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Thu, 5 May 2005 23:13:45 -0700
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20050506054516.GE8255@krispykreme>
References: <20050504230731.12be1bc3.davem@xxxxxxxxxxxxx> <20050506043653.GD8255@krispykreme> <20050506054516.GE8255@krispykreme>
Sender: netdev-bounce@xxxxxxxxxxx
On Fri, 6 May 2005 15:45:16 +1000
Anton Blanchard <anton@xxxxxxxxx> wrote:

> With a 9000 byte MTU I see page sized frags as expected. There are still
> some pages broken in two which is interesting.

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.

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