netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anjali Singhai Jain <anjali.singhai@intel.com>
To: netdev@vger.kernel.org
Cc: jeffrey.t.kirsher@intel.org
Subject: Add support for Geneve udp port offload
Date: Tue,  8 Dec 2015 10:12:10 -0800	[thread overview]
Message-ID: <1449598334-97674-1-git-send-email-anjali.singhai@intel.com> (raw)

This patch series adds new ndo ops for Geneve add/del port, so as
to help offload Geneve tunnel functionalities such as RX checksum, 
RSS, filters etc.

i40e driver has been tested with the changes to make sure the offloads
happen.

We do understand that this is not the ideal solution and most likely
will be redone with a more generic offload framework.
But this certainly will enable us to start seeing benefits of the
accelerations for Geneve tunnels.

As a side note, we did find an existing issue in i40e driver where a
service task can modify tunnel data structures with no locks held to
help linearize access. A separate patch will be taking care of that issue.

A question out to the community is regarding the driver Kconfig parameters
for VxLAN and Geneve, it would be ideal to drop those if there is a way
to help resolve vxlan/geneve_get_rx_port symbols while the tunnel modules
are not loaded.

Performance numbers
With the offloads enable on X722 devices with remote checksum enabled
and no other tuning in terms of cpu governer etc.

With offload
Throughput: 5527Mbits/sec with a single thread
%cpu: ~43% per core with 4 threads

Without offload
Throughput: 2364Mbits/sec with a single thread
%cpu: ~99% per core with 4 threads

These numbers will get better for X722 as it is being worked. But
this does bring out the delta in terms of when the stack is notified
with csum_level 1 and CHECKSUM_UNNECESSARY vs not without the RX offload.

Anjali Singhai Jain (4):
  [RFC PATCH v2 1/4] geneve: Add geneve udp port offload for ethernet
  [RFC PATCH v2 2/4] i40e: geneve tunnel offload support
  [RFC PATCH v2 3/4] i40e: Kernel dependency update for i40e to support
  [RFC PATCH v2 4/4] geneve: Add geneve_get_rx_port support

             reply	other threads:[~2015-12-08 17:55 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-08 18:12 Anjali Singhai Jain [this message]
2015-12-08 18:12 ` [PATCH v3 1/4] geneve: Add geneve udp port offload for ethernet devices Anjali Singhai Jain
2015-12-12  0:58   ` David Miller
2015-12-12  3:11   ` Tom Herbert
2015-12-14 16:03     ` Singhai, Anjali
2015-12-08 18:12 ` [PATCH v3 2/4] i40e: geneve tunnel offload support Anjali Singhai Jain
2015-12-08 18:20   ` Alexei Starovoitov
2015-12-08 18:36     ` Jesse Gross
2015-12-08 23:08       ` Singhai, Anjali
2015-12-08 18:22   ` John W. Linville
2015-12-11  5:44   ` Jeff Kirsher
2015-12-08 18:12 ` [PATCH v3 3/4] i40e: Kernel dependency update for i40e to support geneve offload Anjali Singhai Jain
2015-12-11  5:45   ` Jeff Kirsher
2015-12-08 18:12 ` [PATCH v3 4/4] geneve: Add geneve_get_rx_port support Anjali Singhai Jain
2015-12-12  1:00   ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2015-12-04  8:19 Add support for Geneve udp port offload Anjali Singhai Jain
2015-12-04 16:31 ` Tom Herbert

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=1449598334-97674-1-git-send-email-anjali.singhai@intel.com \
    --to=anjali.singhai@intel.com \
    --cc=jeffrey.t.kirsher@intel.org \
    --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).