All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/8] TLS read_sock performance scalability
@ 2026-03-11  0:19 Chuck Lever
  2026-03-11  0:19 ` [PATCH v2 1/8] tls: Factor tls_decrypt_async_drain() from recvmsg Chuck Lever
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Chuck Lever @ 2026-03-11  0:19 UTC (permalink / raw)
  To: john.fastabend, kuba, sd; +Cc: netdev, kernel-tls-handshake, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

I'd like to encourage in-kernel kTLS consumers (i.e., NFS and
NVMe/TCP) to coalesce on the use of read_sock. When I suggested
this to Hannes, he reported a number of nagging performance
scalability issues with read_sock. This series is an attempt to run
these issues down and get them fixed before we convert the above
sock_recvmsg consumers over to read_sock.

While I assemble performance data, let's nail down the preferred
code structure.

Base commit: 05e059510edf ("Merge branch 'eth-fbnic-add-fbnic-self-tests'")
---

Changes since v1:
- Add C11 reference
- Extend data_ready reduction to recvmsg and splice
- Restructure read_sock and recvmsg using shared helpers

Chuck Lever (8):
  tls: Factor tls_decrypt_async_drain() from recvmsg
  tls: Factor tls_rx_decrypt_record() helper
  tls: Fix dangling skb pointer in tls_sw_read_sock()
  tls: Factor tls_strp_msg_release() from tls_strp_msg_done()
  tls: Suppress spurious saved_data_ready on all receive paths
  tls: Flush backlog before tls_rx_rec_wait in read_sock
  tls: Restructure tls_sw_read_sock() into submit/deliver phases
  tls: Enable batch async decryption in read_sock

 net/tls/tls.h      |   3 +-
 net/tls/tls_strp.c |  34 ++++++--
 net/tls/tls_sw.c   | 212 ++++++++++++++++++++++++++++++++-------------
 3 files changed, 183 insertions(+), 66 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-03-11 20:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-11  0:19 [PATCH v2 0/8] TLS read_sock performance scalability Chuck Lever
2026-03-11  0:19 ` [PATCH v2 1/8] tls: Factor tls_decrypt_async_drain() from recvmsg Chuck Lever
2026-03-11 17:24   ` Hannes Reinecke
2026-03-11  0:19 ` [PATCH v2 2/8] tls: Factor tls_rx_decrypt_record() helper Chuck Lever
2026-03-11 17:25   ` Hannes Reinecke
2026-03-11  0:19 ` [PATCH v2 3/8] tls: Fix dangling skb pointer in tls_sw_read_sock() Chuck Lever
2026-03-11  0:19 ` [PATCH v2 4/8] tls: Factor tls_strp_msg_release() from tls_strp_msg_done() Chuck Lever
2026-03-11  0:19 ` [PATCH v2 5/8] tls: Suppress spurious saved_data_ready on all receive paths Chuck Lever
2026-03-11  0:19 ` [PATCH v2 6/8] tls: Flush backlog before tls_rx_rec_wait in read_sock Chuck Lever
2026-03-11  0:19 ` [PATCH v2 7/8] tls: Restructure tls_sw_read_sock() into submit/deliver phases Chuck Lever
2026-03-11  0:19 ` [PATCH v2 8/8] tls: Enable batch async decryption in read_sock Chuck Lever
2026-03-11 20:42 ` [PATCH v2 0/8] TLS read_sock performance scalability Jakub Kicinski

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.