tls: rx: do not use the standard strparser
TLS is a relatively poor fit for strparser. We pause the input every time a message is received, wait for a read which will decrypt the message, start the parser, repeat. strparser is built to delineate the messages, wrap them in individual skbs and let them float off into the stack or a different socket. TLS wants the data pages and nothing else. There's no need for TLS to keep cloning (and occasionally skb_unclone()'ing) the TCP rx queue. This patch uses a pre-allocated skb and attaches the skbs from the TCP rx queue to it as frags. TLS is careful never to modify the input skb without CoW'ing / detaching it first. Since we call TCP rx queue cleanup directly we also get back the benefit of skb deferred free. Overall this results in a 6% gain in my benchmarks. Acked-by:Paolo Abeni <pabeni@redhat.com> Signed-off-by:
Jakub Kicinski <kuba@kernel.org>
-
mentioned in commit 62708b94
-
mentioned in commit 1257aa45
-
mentioned in commit cb1598d6
-
mentioned in commit 1ebed424
-
mentioned in commit 344d1515
-
mentioned in commit c8e84468
-
mentioned in commit a5c13965
-
mentioned in commit 3cc704aa
-
mentioned in commit 2660c86a
-
mentioned in commit 5a3e04d9
-
mentioned in commit d7a6c595
-
mentioned in commit 990189f2
-
mentioned in commit 4842b5f7
-
mentioned in commit 0cc282c6
-
mentioned in commit c3100f2d
-
mentioned in commit e2e8d09b
-
mentioned in commit 69f45551
-
mentioned in commit c038c294
-
mentioned in commit 5ac7aa16
-
mentioned in commit 1a71448b
-
mentioned in commit 1ab23524
-
mentioned in commit 016bf986
-
mentioned in commit 2403eaec
-
mentioned in commit 6c34fb95
-
mentioned in commit 6ec5c9a7
-
mentioned in commit d0db7075
-
mentioned in commit 2aefdc50
-
mentioned in commit c4bcbf92
-
mentioned in commit 6ac76182
-
mentioned in commit 693ddd47
-
mentioned in commit 2f250ab2
-
mentioned in commit af4db90a
-
mentioned in commit 3e0578a3
-
mentioned in commit 1fba4090
-
mentioned in commit bce877df
-
mentioned in commit f0c68161
-
mentioned in commit def9bd91
-
mentioned in commit 443be96c
-
mentioned in commit f4133309
-
mentioned in commit 96e5b3c1
-
mentioned in commit 18a026f7
-
mentioned in commit bd8a0c62
-
mentioned in commit 0e782661
-
mentioned in commit ce34ab90
-
mentioned in commit 41978cd5
-
mentioned in commit 8480d9ba
-
mentioned in commit 2c26f22e
-
mentioned in commit 162ecea4
-
mentioned in commit 5e9c3706
-
mentioned in commit eb97177b
-
mentioned in commit c36031bc
-
mentioned in commit bf34b848
-
mentioned in commit f5db5de0
-
mentioned in commit 7ad71a74
-
mentioned in commit 3376665c
-
mentioned in commit 29906e3e
-
mentioned in commit 8e3822cd
-
mentioned in commit e07b65c5
-
mentioned in commit 0fa101af
-
mentioned in commit c25b7d8c
-
mentioned in commit 316dcd48
-
mentioned in commit 1b4cf784
-
mentioned in commit b0cb0fd8
-
mentioned in commit d5945435
-
mentioned in commit eb3ff1eb
-
mentioned in commit b3c8feaf
-
mentioned in commit bed84fe3
-
mentioned in commit 70980fd7
-
mentioned in commit 74715c47
-
mentioned in commit 3d3ed2ae
-
mentioned in commit c61d4368
-
mentioned in commit 7aff5c00
-
mentioned in commit e4a8c4f6
-
mentioned in commit da0e471f
-
mentioned in commit 61a50bd2
-
mentioned in commit 3dc416a2
-
mentioned in commit ea224cf5
-
mentioned in commit 7d305e58
-
mentioned in commit 730fdc75
-
mentioned in commit 124c4f98
-
mentioned in commit 7b2f38b8
-
mentioned in commit 1cf9e074
-
mentioned in commit c5c3b118