[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1397170682-19138-1-git-send-email-ezequiel.garcia@free-electrons.com>
Date: Thu, 10 Apr 2014 19:57:59 -0300
From: Ezequiel Garcia <ezequiel.garcia@...e-electrons.com>
To: <netdev@...r.kernel.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <eric.dumazet@...il.com>,
Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
Gregory Clement <gregory.clement@...e-electrons.com>,
Simon Guinot <simon.guinot@...uanux.org>,
Willy Tarreau <w@....eu>, Tawfik Bayouk <tawfik@...vell.com>,
Lior Amsalem <alior@...vell.com>,
Ezequiel Garcia <ezequiel.garcia@...e-electrons.com>
Subject: [PATCH 0/3] mvneta: software TSO implementation
This patchset adds a software TSO implementation to our mvneta driver
which is already in use on a number platforms. When enabled, the TSO
shows both CPU usage reduction and throughput performance improvements.
The TSO feature can be completely disabled at runtime using ethtool:
$ ethtool -K eth0 tso {on,off}
When TSO is disabled the only overhead remaining is the DMA buffers for the
TSO headers, allocated when the tx queues are initialized. Follow-up patches
can release/re-allocate these buffers upon TSO disabling/re-enabling.
In most of my tests I've used iperf where the improvement is most striking,
using a Plat'home Openblocks AX/3 board as the iperf client (tx).
Measuring the CPU usage with vmstat shows a substantial CPU usage drop when TSO
is on (~15% vs. ~25%). HTTP-based tests performed by Willy Tarreau have shown
nice performance improvements.
The first two patches are trivial cleanups, and the third patch does all the
hard work. The TSO implementation was originally prepared by Simon Guinot,
and I did some style massage and other cleaning.
Any comments about this is much appreciated.
Ezequiel Garcia (3):
net: mvneta: Factorize feature setting
net: mvneta: Clean mvneta_tx() sk_buff handling
net: mvneta: Introduce a software TSO implementation
drivers/net/ethernet/marvell/mvneta.c | 226 ++++++++++++++++++++++++++++++++--
1 file changed, 215 insertions(+), 11 deletions(-)
--
1.9.1
--
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