[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120910.155046.568702072740433838.davem@davemloft.net>
Date: Mon, 10 Sep 2012 15:50:46 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: mschmidt@...hat.com
Cc: netdev@...r.kernel.org, romieu@...zoreil.com,
hayeswang@...ltek.com, nic_swsd@...ltek.com, ivecera@...hat.com
Subject: Re: [PATCH net-next] r8169: use unlimited DMA burst for TX
From: Michal Schmidt <mschmidt@...hat.com>
Date: Mon, 10 Sep 2012 01:55:26 +0200
> The r8169 driver currently limits the DMA burst for TX to 1024 bytes. I have
> a box where this prevents the interface from using the gigabit line to its full
> potential. This patch solves the problem by setting TX_DMA_BURST to unlimited.
>
> The box has an ASRock B75M motherboard with on-board RTL8168evl/8111evl
> (XID 0c900880). TSO is enabled.
>
> I used netperf (TCP_STREAM test) to measure the dependency of TX throughput
> on MTU. I did it for three different values of TX_DMA_BURST ('5'=512, '6'=1024,
> '7'=unlimited). This chart shows the results:
> http://michich.fedorapeople.org/r8169/r8169-effects-of-TX_DMA_BURST.png
>
> Interesting points:
> - With the current DMA burst limit (1024):
> - at the default MTU=1500 I get only 842 Mbit/s.
> - when going from small MTU, the performance rises monotonically with
> increasing MTU only up to a peak at MTU=1076 (908 MBit/s). Then there's
> a sudden drop to 762 MBit/s from which the throughput rises monotonically
> again with further MTU increases.
> - With a smaller DMA burst limit (512):
> - there's a similar peak at MTU=1076 and another one at MTU=564.
> - With unlimited DMA burst:
> - at the default MTU=1500 I get nice 940 Mbit/s.
> - the throughput rises monotonically with increasing MTU with no strange
> peaks.
>
> Notice that the peaks occur at MTU sizes that are multiples of the DMA burst
> limit plus 52. Why 52? Because:
> 20 (IP header) + 20 (TCP header) + 12 (TCP options) = 52
>
> The Realtek-provided r8168 driver (v8.032.00) uses unlimited TX DMA burst too,
> except for CFG_METHOD_1 where the TX DMA burst is set to 512 bytes.
> CFG_METHOD_1 appears to be the oldest MAC version of "RTL8168B/8111B",
> i.e. RTL_GIGA_MAC_VER_11 in r8169. Not sure if this MAC version really needs
> the smaller burst limit, or if any other versions have similar requirements.
>
> Signed-off-by: Michal Schmidt <mschmidt@...hat.com>
I really need Francois et al. to take a look at this before even thinking
about applying it.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists