From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org, Vadim Fedorenko <vadim.fedorenko@linux.dev>
Cc: asml.silence@gmail.com, netdev@vger.kernel.org,
Eric Dumazet <edumazet@google.com>,
Kuniyuki Iwashima <kuniyu@amazon.com>,
Paolo Abeni <pabeni@redhat.com>,
Willem de Bruijn <willemb@google.com>,
"David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
Richard Cochran <richardcochran@gmail.com>
Subject: [PATCH v2 0/5] io_uring cmd for tx timestamps
Date: Wed, 4 Jun 2025 09:42:26 +0100 [thread overview]
Message-ID: <cover.1749026421.git.asml.silence@gmail.com> (raw)
Vadim Fedorenko suggested to add an alternative API for receiving
tx timestamps through io_uring. The series introduces io_uring socket
cmd for fetching tx timestamps, which is a polled multishot request,
i.e. internally polling the socket for POLLERR and posts timestamps
when they're arrives. For the API description see Patch 5.
It reuses existing timestamp infra and takes them from the socket's
error queue. For networking people the important parts are Patch 1,
and io_uring_cmd_timestamp() from Patch 5 walking the error queue.
It should be reasonable to take it through the io_uring tree once
we have consensus, but let me know if there are any concerns.
v2: remove (rx) false timestamp handling
fix skipping already queued events on request submission
constantize socket in a helper
Pavel Begunkov (5):
net: timestamp: add helper returning skb's tx tstamp
io_uring/poll: introduce io_arm_apoll()
io_uring/cmd: allow multishot polled commands
io_uring: add mshot helper for posting CQE32
io_uring/netcmd: add tx timestamping cmd support
include/net/sock.h | 4 ++
include/uapi/linux/io_uring.h | 6 +++
io_uring/cmd_net.c | 77 +++++++++++++++++++++++++++++++++++
io_uring/io_uring.c | 40 ++++++++++++++++++
io_uring/io_uring.h | 1 +
io_uring/poll.c | 44 ++++++++++++--------
io_uring/poll.h | 1 +
io_uring/uring_cmd.c | 34 ++++++++++++++++
io_uring/uring_cmd.h | 7 ++++
net/socket.c | 43 +++++++++++++++++++
10 files changed, 240 insertions(+), 17 deletions(-)
--
2.49.0
next reply other threads:[~2025-06-04 8:41 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-04 8:42 Pavel Begunkov [this message]
2025-06-04 8:42 ` [PATCH v2 1/5] net: timestamp: add helper returning skb's tx tstamp Pavel Begunkov
2025-06-04 15:37 ` Stanislav Fomichev
2025-06-05 0:52 ` Willem de Bruijn
2025-06-05 3:51 ` Jason Xing
2025-06-04 8:42 ` [PATCH v2 2/5] io_uring/poll: introduce io_arm_apoll() Pavel Begunkov
2025-06-04 8:42 ` [PATCH v2 3/5] io_uring/cmd: allow multishot polled commands Pavel Begunkov
2025-06-04 8:42 ` [PATCH v2 4/5] io_uring: add mshot helper for posting CQE32 Pavel Begunkov
2025-06-04 8:42 ` [PATCH v2 5/5] io_uring/netcmd: add tx timestamping cmd support Pavel Begunkov
2025-06-04 12:04 ` Jens Axboe
2025-06-04 12:33 ` Pavel Begunkov
2025-06-05 0:59 ` Willem de Bruijn
2025-06-05 10:25 ` Vadim Fedorenko
2025-06-05 11:01 ` Pavel Begunkov
2025-06-05 23:54 ` Willem de Bruijn
2025-06-06 0:17 ` Jason Xing
2025-06-06 0:02 ` Jason Xing
2025-06-06 8:12 ` Pavel Begunkov
2025-06-06 8:33 ` Jason Xing
2025-06-06 9:08 ` Pavel Begunkov
2025-06-04 8:53 ` [PATCH v2 0/5] io_uring cmd for tx timestamps Pavel Begunkov
2025-06-04 12:06 ` Jens Axboe
2025-06-04 12:38 ` Pavel Begunkov
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=cover.1749026421.git.asml.silence@gmail.com \
--to=asml.silence@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=io-uring@vger.kernel.org \
--cc=kuba@kernel.org \
--cc=kuniyu@amazon.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=vadim.fedorenko@linux.dev \
--cc=willemb@google.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox