Skip to content

io_uring cmd for tx timestamps

Pavel Begunkov io-uring netdev 5 versions – Applied

Status from this message: Applied, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest5 patches 22 repliesApplied
  2. v45 patches 5 repliesSuperseded
  3. v35 patches 8 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v25 patches17 repliesSuperseded
v15 patches10 repliesSuperseded

Patches in v5 Applied

#Subject and filesSizeRepliesApplied
1/5net: timestamp: add helper returning skb's tx tstampinclude/net/sock.h net/socket.c+50 -06 replies
2/5io_uring/poll: introduce io_arm_apoll()io_uring/poll.c io_uring/poll.h+28 -170 replies
3/5io_uring/cmd: allow multishot polled commandsio_uring/uring_cmd.c io_uring/uring_cmd.h+26 -00 replies
4/5io_uring: add mshot helper for posting CQE32io_uring/io_uring.c io_uring/io_uring.h io_uring/uring_cmd.c +1 more+56 -00 replies
5/5io_uring/netcmd: add tx timestamping cmd supportinclude/uapi/linux/io_uring.h io_uring/cmd_net.c+98 -00 replies

Reviews trailers per patch

2 of 5 patches have a Reviewed-by or Acked-by.

PatchWillem de BruijnJason Xing
1/5A-b R-b
2/5
3/5
4/5
5/5A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [PATCH v5 0/5] io_uring cmd for tx timestamps

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.

v5: return SOF_TIMESTAMPING_TX_* from net helpers

v4: rename uapi flags, etc.

v3: Add a flag to distinguish sw vs hw timestamp. skb_get_tx_timestamp()
from Patch 1 now returns the indication of that, and in Patch 5 it's converted into a io_uring CQE bit flag.

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 | 16 +++++++
 io_uring/cmd_net.c            | 82 +++++++++++++++++++++++++++++++++++
 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                  | 46 ++++++++++++++++++++
 10 files changed, 258 insertions(+), 17 deletions(-)
Signature · 1 line
2.49.0