From: Matthieu Baerts <matttbe@kernel.org>
To: Geliang Tang <geliang@kernel.org>, mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: Re: [RESEND PATCH mptcp-next v2 2/3] mptcp: implement .splice_eof
Date: Thu, 26 Mar 2026 19:59:44 +0100 [thread overview]
Message-ID: <931bd8a3-3269-4782-bd63-93b36cc657e6@kernel.org> (raw)
In-Reply-To: <e4666472729bc32c8a4d5ec2692bdecec4dbb4b6.1773740361.git.tanggeliang@kylinos.cn>
Hi Geliang,
On 17/03/2026 10:41, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
>
> This patch implements the .splice_eof interface for MPTCP, namely
> mptcp_splice_eof(), which calls do_tcp_splice_eof() for each active
> subflow when a sendfile() operation reaches end-of-file.
>
> do_tcp_splice_eof() flushes any remaining data in the TCP send queue.
> MPTCP operates over multiple TCP subflows, and each subflow may have
> pending data in its send buffer that needs to be properly finalized
> when splicing data through an MPTCP socket.
>
> sock_splice_eof() calls the .splice_eof interface from struct proto_ops.
> To maintain consistency with regular TCP behavior, the .splice_eof
> interface of mptcp_stream_ops is set to inet_splice_eof, which will
> switch to the protocol-specific implementation (sk->sk_prot->splice_eof)
> - for MPTCP, that is mptcp_splice_eof().
>
> This is an improvement; nothing was broken before. MPTCP previously did not
> handle the splice EOF notification, while TCP did. Without .splice_eof()
> support, the queue is not flushed immediately when sendfile() reaches EOF,
> but it will eventually be flushed after a small delay.
Thank you for this patch!
Do you mind checking the comments from sashiko please?
https://sashiko.dev/#/patchset/cover.1773740361.git.tanggeliang%40kylinos.cn
They look plausible, but better to double-check.
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
next prev parent reply other threads:[~2026-03-26 18:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 9:41 [RESEND PATCH mptcp-next v2 0/3] implement .splice_eof Geliang Tang
2026-03-17 9:41 ` [RESEND PATCH mptcp-next v2 1/3] tcp: export do_tcp_splice_eof Geliang Tang
2026-03-17 9:41 ` [RESEND PATCH mptcp-next v2 2/3] mptcp: implement .splice_eof Geliang Tang
2026-03-26 18:59 ` Matthieu Baerts [this message]
2026-03-17 9:41 ` [RESEND PATCH mptcp-next v2 3/3] selftests: mptcp: connect: trigger splice_eof Geliang Tang
2026-03-17 11:17 ` [RESEND PATCH mptcp-next v2 0/3] implement .splice_eof MPTCP CI
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=931bd8a3-3269-4782-bd63-93b36cc657e6@kernel.org \
--to=matttbe@kernel.org \
--cc=geliang@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=tanggeliang@kylinos.cn \
/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