From: Tom Herbert <therbert@google.com>
To: davem@davemloft.net, netdev@vger.kernel.org
Subject: [PATCH net-next 0/3] net: enable GRO for IPIP and SIT
Date: Tue, 9 Sep 2014 11:23:13 -0700 [thread overview]
Message-ID: <1410286996-302-1-git-send-email-therbert@google.com> (raw)
This patch sets populates the IPIP and SIT offload structures with
gro_receive and gro_complete functions. This enables use of GRO
for these. Also, fixed a problem in IPv6 where we were not properly
initializing flush_id.
Peformance results are below. Note that these tests were done on bnx2x
which doesn't provide RX checksum offload of IPIP or SIT (i.e. does
not give CHEKCSUM_COMPLETE). Also, we don't get 4-tuple hash for RSS
only 2-tuple in this case so all the packets between two hosts are
winding up on the same queue. Net result is the interrupting CPU is
the bottleneck in GRO (checksumming every packet there).
Testing:
netperf TCP_STREAM between two hosts using bnx2x.
* Before fix
IPIP
1 connection
6.53% CPU utilization
6544.71 Mbps
20 connections
13.79% CPU utilization
9284.54 Mbps
SIT
1 connection
6.68% CPU utilization
5653.36 Mbps
20 connections
18.88% CPU utilization
9154.61 Mbps
* After fix
IPIP
1 connection
5.73% CPU utilization
9279.53 Mbps
20 connections
7.14% CPU utilization
7279.35 Mbps
SIT
1 connection
2.95% CPU utilization
9143.36 Mbps
20 connections
7.09% CPU utilization
6255.3 Mbps
Tom Herbert (3):
ipv6: Clear flush_id to make GRO work
ipip: Add gro callbacks to ipip offload
sit: Add gro callbacks to sit_offload
net/ipv4/af_inet.c | 2 ++
net/ipv6/ip6_offload.c | 5 +++++
2 files changed, 7 insertions(+)
--
2.1.0.rc2.206.gedb03e5
next reply other threads:[~2014-09-09 18:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-09 18:23 Tom Herbert [this message]
2014-09-09 18:23 ` [PATCH net-next 1/3] ipv6: Clear flush_id to make GRO work Tom Herbert
2014-09-09 18:38 ` Eric Dumazet
2014-09-09 18:52 ` Tom Herbert
2014-09-09 18:23 ` [PATCH 2/3] ipip: Add gro callbacks to ipip offload Tom Herbert
2014-09-09 18:23 ` [PATCH 3/3] sit: Add gro callbacks to sit_offload Tom Herbert
2014-09-10 3:27 ` [PATCH net-next 0/3] net: enable GRO for IPIP and SIT David Miller
2014-09-10 4:04 ` Tom Herbert
2014-09-10 4:32 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1410286996-302-1-git-send-email-therbert@google.com \
--to=therbert@google.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).