public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top, Stefano Brivio <sbrivio@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 0/8] splice() forwarding cleanups
Date: Thu, 28 May 2026 15:02:05 +1000	[thread overview]
Message-ID: <20260528050213.679685-1-david@gibson.dropbear.id.au> (raw)

As we discussed on an earlier call, while fixing bug 202 I noticed a
number of warts in the surrounding splice() forwarding code.  Most are
just things that are longer or harder to follow than they need to be,
but in some cases there may be real (if unlikely to trigger) bugs.
Here's a collection of fixes.

David Gibson (8):
  tcp_splice: Remove never-invoked SO_RCVLOWAT logic
  tcp_splice: Simplify EPOLLRDHUP / eof / FIN handling
  tcp_splice: Improve EOF exit condition for the loop
  tcp_splice: Remove goto from forwarding loop
  tcp_splice: Simplify shutdown(2) handling
  tcp_splice: Simplify / correct OUT_WAIT flag handling
  tcp_splice: Remove questionable "optimisation" of pending bytes
    tracking
  tcp_splice: Exit forwarding earlier when stalled read side

 tcp_splice.c | 100 ++++++++++++++++-----------------------------------
 1 file changed, 31 insertions(+), 69 deletions(-)

-- 
2.54.0


             reply	other threads:[~2026-05-28  5:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-28  5:02 David Gibson [this message]
2026-05-28  5:02 ` [PATCH 1/8] tcp_splice: Remove never-invoked SO_RCVLOWAT logic David Gibson
2026-05-28  5:02 ` [PATCH 2/8] tcp_splice: Simplify EPOLLRDHUP / eof / FIN handling David Gibson
2026-05-28  5:02 ` [PATCH 3/8] tcp_splice: Improve EOF exit condition for the loop David Gibson
2026-05-28  5:02 ` [PATCH 4/8] tcp_splice: Remove goto from forwarding loop David Gibson
2026-05-28  5:02 ` [PATCH 5/8] tcp_splice: Simplify shutdown(2) handling David Gibson
2026-05-28  5:02 ` [PATCH 6/8] tcp_splice: Simplify / correct OUT_WAIT flag handling David Gibson
2026-05-28  5:02 ` [PATCH 7/8] tcp_splice: Remove questionable "optimisation" of pending bytes tracking David Gibson
2026-05-28  5:02 ` [PATCH 8/8] tcp_splice: Exit forwarding earlier when stalled read side David Gibson

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=20260528050213.679685-1-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    --cc=sbrivio@redhat.com \
    /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).