netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, linux-crypto@vger.kernel.org
Subject: Re: ipsec impact on performance
Date: Thu, 3 Dec 2015 15:32:24 -0500	[thread overview]
Message-ID: <20151203203224.GA25340@oracle.com> (raw)
In-Reply-To: <20151203.143328.1246663523839158336.davem@davemloft.net>

On (12/03/15 14:33), David Miller wrote:
> 
> Doesn't skb_cow_data() contribute significantly to the ESP base cost,
> especially for TCP packets?

Indeed. For esp-null, it's about half of the total time spent
in esp_output (for one run that I just instrumented with perf 
tracepoints 2.5 ms compared to 5.8 ms)

It never goes into the slow path of skb_cow_data (the path
with comment about mincer fragments) because whether or not you
do this after GSO, TCP makes sure to fit within the MSS, so (unless you
have Jumbo enabled?) you'd send it something that does not have
a fraglist.

Was the cow_data call just intended to handle the fraglist case? 
Or is there something else more generic going on here (it's hard
to tell because esp_output doesnt have too many comments to explain
what it thinks its doing, as it juggles different len fields around)

> I mean, we're copying every TCP data frame.
> 
> If this is the case, even with GSO/whatever offloads, I expect that
> performance will be roughly halfed.

The other obvious "low-hanging fruit" is to address the TODO in the
comment above esp_alloc_tmp.

--Sowmini

  parent reply	other threads:[~2015-12-03 20:32 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-01 17:59 ipsec impact on performance Sowmini Varadhan
2015-12-01 18:17 ` Rick Jones
2015-12-01 18:45   ` Sowmini Varadhan
2015-12-01 18:50     ` Rick Jones
2015-12-01 19:01       ` Sowmini Varadhan
2015-12-02  0:56   ` David Ahern
2015-12-02  1:09     ` Sowmini Varadhan
2015-12-02  1:25       ` David Ahern
2015-12-01 18:18 ` Tom Herbert
2015-12-01 18:37   ` Sowmini Varadhan
2015-12-02 11:56     ` David Laight
2015-12-02 12:11       ` Sowmini Varadhan
2015-12-02 12:41         ` David Laight
2015-12-02 13:25           ` Sowmini Varadhan
2015-12-02 20:50           ` Sowmini Varadhan
2015-12-02 21:07             ` Tom Herbert
2015-12-02 21:12               ` Sowmini Varadhan
2015-12-02 21:44                 ` Tom Herbert
2015-12-02 21:47                   ` Sowmini Varadhan
2015-12-02 22:01                     ` Tom Herbert
2015-12-02 22:08                       ` Sowmini Varadhan
2015-12-02 22:25                 ` Eric Dumazet
2015-12-03  1:31       ` Rick Jones
2015-12-02  6:53 ` Steffen Klassert
2015-12-02 12:05   ` Sowmini Varadhan
2015-12-03  8:45     ` Steffen Klassert
2015-12-03 11:38       ` Sowmini Varadhan
2015-12-03 11:47         ` Steffen Klassert
2015-12-07  8:40         ` Steffen Klassert
2015-12-07 11:27           ` Sowmini Varadhan
2015-12-08 11:32             ` Steffen Klassert
2015-12-08 11:51               ` Sowmini Varadhan
2015-12-03 19:33 ` David Miller
2015-12-03 20:08   ` Eric Dumazet
2015-12-03 20:32   ` Sowmini Varadhan [this message]
2015-12-04  5:18 ` Sandy Harris

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=20151203203224.GA25340@oracle.com \
    --to=sowmini.varadhan@oracle.com \
    --cc=davem@davemloft.net \
    --cc=linux-crypto@vger.kernel.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).