git: ixgbe: add tso_pullup function
Sepherosa Ziehau
sepherosa at gmail.com
Mon Aug 27 18:39:24 PDT 2012
On Mon, Aug 27, 2012 at 1:19 PM, Francois Tigeot
<ftigeot at crater.dragonflybsd.org> wrote:
>
> commit 857fbe11cb425f03036d582c4f79ae3bbfae92eb
> Author: François Tigeot <ftigeot at wolfpond.org>
> Date: Sat Aug 25 17:25:26 2012 +0200
>
> ixgbe: add tso_pullup function
>
> * This routine rearranges mbuf chains to get more continuous bytes,
> potentially increasing tcp send performance
>
> * Single TCP streams are now able to push slightly more than 4Gb/s
> under the right circumstances
Grr, does it really helpful? I believe the m_pullup() will not be
executed if the segments are from tcp_output(). We currently don't
pass TSO information to VLAN. If the TSO information was delivered to
VLAN, the only case that the m_pullup would be executed on the
segments from tcp_output() was that software vlan tag insertion was
used. That's the main reason I put __predict_false() on the m_len
testing; it probably should be false. BTW, I planned to increase
max_linkhdr from 16 to 20 after 3.2 release (currently we will not
have enough time to give it a comprehensive test) to address the
software VLAN TSO issue.
And could you measure the CPU utilization? Also please try changing
net.inet.tcp.sosend_agglim to a higher value and measure CPU
utilization again. I didn't measure any difference on 1Gbps network,
once net.inet.tcp.sosend_agglim reaches 3.
Best Regards,
sephe
>
> Taken-from: Sepherosa Ziehau's work on the igb(4) driver
>
> Summary of changes:
> sys/dev/netif/ixgbe/ixgbe.c | 38 ++++++++++++++++++++++++++++++++++++++
> 1 files changed, 38 insertions(+), 0 deletions(-)
>
> http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/857fbe11cb425f03036d582c4f79ae3bbfae92eb
>
>
> --
> DragonFly BSD source repository
--
Tomorrow Will Never Die
More information about the Commits
mailing list