net: loopback: set default mtu to 64K
authorEric Dumazet <edumazet@google.com>
Sun, 23 Sep 2012 22:28:59 +0000 (22:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Sep 2012 20:23:53 +0000 (16:23 -0400)
loopback current mtu of 16436 bytes allows no more than 3 MSS TCP
segments per frame, or 48 Kbytes. Changing mtu to 64K allows TCP
stack to build large frames and significantly reduces stack overhead.

Performance boost on bulk TCP transferts can be up to 30 %, partly
because we now have one ACK message for two 64KB segments, and a lower
probability of hitting /proc/sys/net/ipv4/tcp_reordering default limit.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/loopback.c

index 4a075babe1937b9d9b4cc98b18360b181acfdb56..81f8f9e31db510892acae3cdb39a799de7e21be9 100644 (file)
@@ -157,7 +157,7 @@ static const struct net_device_ops loopback_ops = {
  */
 static void loopback_setup(struct net_device *dev)
 {
-       dev->mtu                = (16 * 1024) + 20 + 20 + 12;
+       dev->mtu                = 64 * 1024;
        dev->hard_header_len    = ETH_HLEN;     /* 14   */
        dev->addr_len           = ETH_ALEN;     /* 6    */
        dev->tx_queue_len       = 0;