Hi, MSG_RING rolls its own task_work handling, which there's really no need for. Rather, it should use the generic io_uring infrastructure for this. Add a helper for remote execution, and switch over MSG_RING to use it. This both cleans up the code, and improves performance of this opcode considerably. io_uring/io_uring.c | 27 +++++++++++++++++++-------- io_uring/io_uring.h | 2 ++ io_uring/msg_ring.c | 37 ++++++++++++++----------------------- 3 files changed, 35 insertions(+), 31 deletions(-) -- Jens Axboe