From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: Rick Jones <rick.jones2@hpe.com>
Cc: netdev@vger.kernel.org, linux-crypto@vger.kernel.org
Subject: Re: ipsec impact on performance
Date: Tue, 1 Dec 2015 13:45:04 -0500 [thread overview]
Message-ID: <20151201184504.GF21252@oracle.com> (raw)
In-Reply-To: <565DE446.2070609@hpe.com>
On (12/01/15 10:17), Rick Jones wrote:
>
> What do the perf profiles show? Presumably, loss of TSO/GSO means
> an increase in the per-packet costs, but if the ipsec path
> significantly increases the per-byte costs...
For ESP-null, there's actually very little work to do - we just
need to add the 8 byte ESP header with an spi and a seq#.. no
crypto work to do.. so the overhead *should* be minimal, else
we've painted ourself into a corner where we can't touch anything
including TCP options like md5.
perf profiles: I used perf tracepoints to instrument latency.
Yes, there is function call overhead for the xfrm path. So, for example,
the stack ends up being like this:
:
e5d2f2 ip_finish_output ([kerne.kallsyms])
75d6d0 ip_output ([kernel.kallsyms])
7c08ad xfrm_output_resume ([kernel.kallsyms])
7c0aae xfrm_output ([kernel.kallsyms])
7b1bdd xfrm4_output_finish ([kernel.kallsyms])
7b1c7e __xfrm4_output ([kernel.kallsyms])
7b1dbe xfrm4_output ([kernel.kallsyms])
75bac4 ip_local_out ([kernel.kallsyms])
75c012 ip_queue_xmit ([kernel.kallsyms])
7736a3 tcp_transmit_skb ([kernel.kallsyms])
:
where the detour into xfrm has been indented out, and esp_output
gets called out of xfrm_output_resume(). And as I said, there's
some nickels-and-dimes of perf to be squeezed out from
better memory management in xfrm, but the fact that it doesnt move
beyond 3 Gbps strikes me as some other bottleneck/serialization.
> Short of a perf profile, I suppose one way to probe for per-packet
> versus per-byte would be to up the MTU. That should reduce the
> per-packet costs while keeping the per-byte roughly the same.
actually the hack/rfc I sent out does help (in that it almost
doubles the existing 1.8 Gbps). Problem is that this cliff is much
steeper than that, and there's more hidden somewhere.
--Sowmini
next prev parent reply other threads:[~2015-12-01 18:45 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 [this message]
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
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=20151201184504.GF21252@oracle.com \
--to=sowmini.varadhan@oracle.com \
--cc=linux-crypto@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rick.jones2@hpe.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.