public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chuck Lever" <cel@kernel.org>
To: john.fastabend@gmail.com, "Jakub Kicinski" <kuba@kernel.org>,
	"Sabrina Dubroca" <sd@queasysnail.net>
Cc: netdev@vger.kernel.org, kernel-tls-handshake@lists.linux.dev,
	"Chuck Lever" <chuck.lever@oracle.com>,
	"Hannes Reinecke" <hare@suse.de>,
	"Alistair Francis" <alistair.francis@wdc.com>
Subject: Re: [PATCH net-next v7 0/5] TLS read_sock performance scalability
Date: Wed, 22 Apr 2026 12:41:43 -0400	[thread overview]
Message-ID: <3fc31ab1-23de-4381-b85c-5faa39169ad9@app.fastmail.com> (raw)
In-Reply-To: <20260328-tls-read-sock-v7-0-15678415dfc1@oracle.com>


On Sat, Mar 28, 2026, at 11:17 AM, Chuck Lever wrote:
> 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.
>
> Batch async decryption and its submit/deliver scaffolding were
> dropped from this series because async_capable is always false
> for TLS 1.3, which NFS and NVMe/TCP both require. Async crypto
> support for TLS 1.3 is a prerequisite for revisiting that work.
>
> ---
> Changes since v6:
> - Rebased on net-next, v5's 1/6 was merged upstream
>
> Changes since v5:
> - Patch 6: Set released = true when sk_flush_backlog() returns
>   true, so tls_strp_msg_load() knows the socket lock was
>   released (Sabrina)
> - Patch 6: Drop Fixes tag; submit bug fix separately via net
>   if warranted (Sabrina)
> - Patch 6: Note redundant flush on cold path in commit message
>   (Sabrina)
>
> Changes since v4:
> - Drop batch async decryption and submit/deliver restructure:
>   async_capable is always false for TLS 1.3, so the new code
>   was unreachable for NFS and NVMe/TCP
> - Purge async_hold directly in tls_decrypt_async_wait() and drop
>   the tls_decrypt_async_drain() wrapper
> - Merge tls_strp_check_rcv_quiet() into tls_strp_check_rcv() with
>   a bool wake parameter; fix lost wakeup on the recvmsg exit path
>
> Changes since v3:
> - Clarify why tls_decrypt_async_drain() is separate from _wait()
> - Fold tls_err_abort() into tls_rx_one_record(), drop tls_rx_decrypt_record()
> - Move backlog flush into tls_rx_rec_wait() so all RX paths benefit
>
> Changes since v2:
> - Fix short read 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 (5):
>       tls: Abort the connection on decrypt failure
>       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 waiting for a new record
>
>  net/tls/tls.h      |  4 ++--
>  net/tls/tls_main.c |  2 +-
>  net/tls/tls_strp.c | 42 +++++++++++++++++++++++++++++++-----------
>  net/tls/tls_sw.c   | 50 ++++++++++++++++++++++++++++++--------------------
>  4 files changed, 64 insertions(+), 34 deletions(-)
> ---
> base-commit: ced629dc8e5c51ff2b5d847adeeb1035cd655d58
> change-id: 20260317-tls-read-sock-a0022c9df265

I see that this series is currently not in v7.1. What is left to do?


-- 
Chuck Lever

      parent reply	other threads:[~2026-04-22 16:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-28 15:17 [PATCH net-next v7 0/5] TLS read_sock performance scalability Chuck Lever
2026-03-28 15:17 ` [PATCH net-next v7 1/5] tls: Abort the connection on decrypt failure Chuck Lever
2026-03-28 15:17 ` [PATCH net-next v7 2/5] tls: Fix dangling skb pointer in tls_sw_read_sock() Chuck Lever
2026-03-30 12:17   ` Sabrina Dubroca
2026-03-28 15:17 ` [PATCH net-next v7 3/5] tls: Factor tls_strp_msg_release() from tls_strp_msg_done() Chuck Lever
2026-03-30 12:21   ` Sabrina Dubroca
2026-03-28 15:17 ` [PATCH net-next v7 4/5] tls: Suppress spurious saved_data_ready on all receive paths Chuck Lever
2026-03-30 14:43   ` Sabrina Dubroca
2026-03-31  2:06     ` Chuck Lever
2026-03-28 15:17 ` [PATCH net-next v7 5/5] tls: Flush backlog before waiting for a new record Chuck Lever
2026-04-22 16:41 ` Chuck Lever [this message]

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=3fc31ab1-23de-4381-b85c-5faa39169ad9@app.fastmail.com \
    --to=cel@kernel.org \
    --cc=alistair.francis@wdc.com \
    --cc=chuck.lever@oracle.com \
    --cc=hare@suse.de \
    --cc=john.fastabend@gmail.com \
    --cc=kernel-tls-handshake@lists.linux.dev \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sd@queasysnail.net \
    /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