From: Stefano Brivio <sbrivio@redhat.com>
To: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Cc: passt-dev@passt.top
Subject: Re: [PATCH] tcp_splice: avoid delay on certain transfers
Date: Wed, 14 Oct 2026 13:28:23 +0200 (CEST) [thread overview]
Message-ID: <20261014132822.075de7bd@elisabeth> (raw)
In-Reply-To: <20261002163925.1338988-1-bwiedemann@suse.de>
On Fri, 2 Oct 2026 18:39:25 +0200
"Bernhard M. Wiedemann" <bwiedemann@suse.de> wrote:
> without this patch, sending buffers of certain sizes
> caused a delay of 200ms because tcp_splice_forward()
> passes SPLICE_F_MORE to the writer
> when a read filled at least 90% of the pipe.
>
> This is easy to hit when pipes are small: once a user exceeds
> fs.pipe-user-pages-soft (64 MiB by default, which a few long-running
> pasta instances with large pipes reach on their own),
> tcp_set_pipe_size() settles on the 8 KiB minimum, and every message
> whose length is 7372 to 8192 bytes (90% of the pipe and more) past a
> multiple of 8 KiB stalls.
>
> This change leaves bulk throughput unchanged.
>
> Assisted-by: Claude:claude-opus-5-5
> Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
> ---
Applied, thanks, sorry for the delay, and welcome to the git log!
> Notes:
> The change was slightly tested and benchmarked. Results look decent.
I also played a bit with it and the scripts you supplied in different
setups, and couldn't find any relevant issue either.
It might be worth having them (with license, usage and all) under, say,
doc/performance/ or something like that. I don't have a big preference
either way, though, because after all we already have the same tests
using iperf3 and tcp_rr.
> Not sure if we actually need the flow_trace for error handling there.
I think yes, that's actually useful should it ever happen.
--
Stefano
next prev parent reply other threads:[~2026-10-14 11:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 16:39 Bernhard M. Wiedemann
2026-10-05 19:37 ` Stefano Brivio
2026-10-06 9:41 ` Bernhard M. Wiedemann
2026-10-14 11:28 ` Stefano Brivio [this message]
2026-10-14 12:02 ` Bernhard M. Wiedemann
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=20261014132822.075de7bd@elisabeth \
--to=sbrivio@redhat.com \
--cc=bwiedemann@suse.de \
--cc=passt-dev@passt.top \
/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.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).