]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'tls-rx-nopad-and-backlog-flushing'
authorDavid S. Miller <davem@davemloft.net>
Wed, 6 Jul 2022 11:56:35 +0000 (12:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Jul 2022 11:56:35 +0000 (12:56 +0100)
commit57ee1cb4ad691b44a8330de1f6fb84ce83a67257
treec3759309c9c88b17a1f87d0bcbb4b939491e2ef7
parent70dbd74dd3874f7d77780d42e429e6075aea9390
parent8812b8b76a6f2d802bf4bb76e1b860c28de4fae3
Merge branch 'tls-rx-nopad-and-backlog-flushing'

Jakub Kicinski says:

====================
tls: rx: nopad and backlog flushing

This small series contains the two changes I've been working
towards in the previous ~50 patches a couple of months ago.

The first major change is the optional "nopad" optimization.
Currently TLS 1.3 Rx performs quite poorly because it does
not support the "zero-copy" or rather direct decrypt to a user
space buffer. Because of TLS 1.3 record padding we don't
know if a record contains data or a control message until
we decrypt it. Most records will contain data, tho, so the
optimization is to try the decryption hoping its data and
retry if it wasn't.

The performance gain from doing that is significant (~40%)
but if I'm completely honest the major reason is that we
call skb_cow_data() on the non-"zc" path. The next series
will remove the CoW, dropping the gain to only ~10%.

The second change is to flush the backlog every 128kB.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>