]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
io_uring/zcrx: rename notif to event
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 22 Jul 2026 13:42:17 +0000 (14:42 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 22 Jul 2026 15:48:42 +0000 (09:48 -0600)
"Notification" is too long and the abbreviated version is used in
several places, which is inconsistent and more ambiguous for users.
Rename it to event, which is easier to keep consistent. To keep the
change small, only change uapi/ + do necessary fix ups, and the rest of
internals can be adjusted in the next release.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://patch.msgid.link/f95ca6717da3c8d3649a1a7f0d883a563f545052.1784726895.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/uapi/linux/io_uring/query.h
include/uapi/linux/io_uring/zcrx.h
io_uring/query.c
io_uring/zcrx.c
io_uring/zcrx.h

index 708bcdd585dd6210b46adc197d9f911b18e596be..e6493e4a7a4d81d31386153dee14f8c57cf06a94 100644 (file)
@@ -23,7 +23,7 @@ enum {
        IO_URING_QUERY_OPCODES                  = 0,
        IO_URING_QUERY_ZCRX                     = 1,
        IO_URING_QUERY_SCQ                      = 2,
-       IO_URING_QUERY_ZCRX_NOTIF               = 3,
+       IO_URING_QUERY_ZCRX_EVENT               = 3,
 
        __IO_URING_QUERY_MAX,
 };
@@ -63,9 +63,9 @@ struct io_uring_query_zcrx {
        __u64 __resv2;
 };
 
-struct io_uring_query_zcrx_notif {
-       /* Bitmask of supported ZCRX_NOTIF_* flags */
-       __u32 notif_flags;
+struct io_uring_query_zcrx_event {
+       /* Bitmask of supported ZCRX_EVENT_* flags */
+       __u32 event_flags;
        /* Size of zcrx_stats */
        __u32 stats_size;
        /* Required alignment for the stats struct within the region (ie stats_offset) */
index abb898d59a4b06b5b8f41279d6b266b40ccf87d3..e01bc0e34b244be29b4c8d6ed28f7e9254aae354 100644 (file)
@@ -65,19 +65,19 @@ enum zcrx_features {
         * value in struct io_uring_zcrx_ifq_reg::rx_buf_len.
         */
        ZCRX_FEATURE_RX_PAGE_SIZE       = 1 << 0,
-       ZCRX_FEATURE_NOTIFICATION       = 1 << 1,
+       ZCRX_FEATURE_EVENT              = 1 << 1,
 };
 
-enum zcrx_notification_type {
-       ZCRX_NOTIF_ALLOC_FAIL,
-       ZCRX_NOTIF_COPY,
+enum zcrx_event_type {
+       ZCRX_EVENT_ALLOC_FAIL,
+       ZCRX_EVENT_COPY,
 
-       __ZCRX_NOTIF_TYPE_LAST,
+       __ZCRX_EVENT_TYPE_LAST,
 };
 
-enum zcrx_notification_desc_flags {
+enum zcrx_event_desc_flags {
        /* If set, stats_offset holds a valid offset to a zcrx_stats struct */
-       ZCRX_NOTIF_DESC_FLAG_STATS = 1 << 0,
+       ZCRX_EVENT_DESC_FLAG_STATS = 1 << 0,
 };
 
 struct zcrx_stats {
@@ -85,10 +85,10 @@ struct zcrx_stats {
        __u64   copy_bytes;     /* cumulative bytes copied */
 };
 
-struct zcrx_notification_desc {
+struct zcrx_event_desc {
        __u64   user_data;
        __u32   type_mask;
-       __u32   flags; /* see enum zcrx_notification_desc_flags */
+       __u32   flags; /* see enum zcrx_event_desc_flags */
        __u64   stats_offset; /* offset from the beginning of refill ring region for stats */
        __u64   __resv2[9];
 };
@@ -108,14 +108,14 @@ struct io_uring_zcrx_ifq_reg {
        struct io_uring_zcrx_offsets offsets;
        __u32   zcrx_id;
        __u32   rx_buf_len;
-       __u64   notif_desc; /* see struct zcrx_notification_desc */
+       __u64   event_desc; /* see struct zcrx_event_desc */
        __u64   __resv[2];
 };
 
 enum zcrx_ctrl_op {
        ZCRX_CTRL_FLUSH_RQ,
        ZCRX_CTRL_EXPORT,
-       ZCRX_CTRL_ARM_NOTIFICATION,
+       ZCRX_CTRL_ARM_EVENT,
 
        __ZCRX_CTRL_LAST,
 };
@@ -129,8 +129,8 @@ struct zcrx_ctrl_export {
        __u32           __resv1[11];
 };
 
-struct zcrx_ctrl_arm_notif {
-       __u32           notif_type;
+struct zcrx_ctrl_arm_event {
+       __u32           event_type; /* see enum zcrx_event_type */
        __u32           __resv[11];
 };
 
@@ -142,7 +142,7 @@ struct zcrx_ctrl {
        union {
                struct zcrx_ctrl_export         zc_export;
                struct zcrx_ctrl_flush_rq       zc_flush;
-               struct zcrx_ctrl_arm_notif      zc_arm_notif;
+               struct zcrx_ctrl_arm_event      zc_arm_event;
        };
 };
 
index 2e48fddd8d3ab39147a969fe7bc2968bb784a02e..88a32573699244edf6146396ea660cf60ca9706b 100644 (file)
@@ -9,7 +9,7 @@
 union io_query_data {
        struct io_uring_query_opcode opcodes;
        struct io_uring_query_zcrx zcrx;
-       struct io_uring_query_zcrx_notif zcrx_notif;
+       struct io_uring_query_zcrx_event zcrx_notif;
        struct io_uring_query_scq scq;
 };
 
@@ -47,9 +47,9 @@ static ssize_t io_query_zcrx(union io_query_data *data)
 
 static ssize_t io_query_zcrx_notif(union io_query_data *data)
 {
-       struct io_uring_query_zcrx_notif *e = &data->zcrx_notif;
+       struct io_uring_query_zcrx_event *e = &data->zcrx_notif;
 
-       e->notif_flags = ZCRX_NOTIF_TYPE_MASK;
+       e->event_flags = ZCRX_EVENT_TYPE_MASK;
        e->stats_size = sizeof(struct zcrx_stats);
        e->stats_off_alignment = __alignof__(struct zcrx_stats);
        e->__resv1 = 0;
@@ -96,7 +96,7 @@ static int io_handle_query_entry(union io_query_data *data, void __user *uhdr,
        case IO_URING_QUERY_ZCRX:
                ret = io_query_zcrx(data);
                break;
-       case IO_URING_QUERY_ZCRX_NOTIF:
+       case IO_URING_QUERY_ZCRX_EVENT:
                ret = io_query_zcrx_notif(data);
                break;
        case IO_URING_QUERY_SCQ:
index 872d5794d3dece97cfe6fad9b712d05543f1b868..7d9fcf34539aaf13ff4e738b18c23af8547810af 100644 (file)
@@ -766,7 +766,7 @@ static int import_zcrx(struct io_ring_ctx *ctx,
                return -EINVAL;
        if (reg->if_rxq || reg->rq_entries || reg->area_ptr || reg->region_ptr)
                return -EINVAL;
-       if (reg->notif_desc)
+       if (reg->event_desc)
                return -EINVAL;
        if (reg->flags & ~ZCRX_REG_IMPORT)
                return -EINVAL;
@@ -855,7 +855,7 @@ netdev_put_unlock:
 
 static int zcrx_validate_notif_stats(struct io_zcrx_ifq *ifq,
                                     const struct io_uring_zcrx_ifq_reg *reg,
-                                    const struct zcrx_notification_desc *notif)
+                                    const struct zcrx_event_desc *notif)
 {
        size_t stats_off = notif->stats_offset;
        size_t used, end;
@@ -883,7 +883,7 @@ static int zcrx_validate_notif_stats(struct io_zcrx_ifq *ifq,
 int io_register_zcrx(struct io_ring_ctx *ctx,
                     struct io_uring_zcrx_ifq_reg __user *arg)
 {
-       struct zcrx_notification_desc notif;
+       struct zcrx_event_desc notif;
        struct io_uring_zcrx_area_reg area;
        struct io_uring_zcrx_ifq_reg reg;
        struct io_uring_region_desc rd;
@@ -928,14 +928,14 @@ int io_register_zcrx(struct io_ring_ctx *ctx,
                return -EFAULT;
 
        memset(&notif, 0, sizeof(notif));
-       if (reg.notif_desc && copy_from_user(&notif, u64_to_user_ptr(reg.notif_desc),
+       if (reg.event_desc && copy_from_user(&notif, u64_to_user_ptr(reg.event_desc),
                                             sizeof(notif)))
                return -EFAULT;
-       if (notif.type_mask & ~ZCRX_NOTIF_TYPE_MASK)
+       if (notif.type_mask & ~ZCRX_EVENT_TYPE_MASK)
                return -EINVAL;
-       if (notif.flags & ~ZCRX_NOTIF_DESC_FLAG_STATS)
+       if (notif.flags & ~ZCRX_EVENT_DESC_FLAG_STATS)
                return -EINVAL;
-       if (!(notif.flags & ZCRX_NOTIF_DESC_FLAG_STATS)) {
+       if (!(notif.flags & ZCRX_EVENT_DESC_FLAG_STATS)) {
                if (notif.stats_offset)
                        return -EINVAL;
        }
@@ -970,7 +970,7 @@ int io_register_zcrx(struct io_ring_ctx *ctx,
        if (ret)
                goto err;
 
-       if (notif.flags & ZCRX_NOTIF_DESC_FLAG_STATS) {
+       if (notif.flags & ZCRX_EVENT_DESC_FLAG_STATS) {
                ret = zcrx_validate_notif_stats(ifq, &reg, &notif);
                if (ret)
                        goto err;
@@ -1244,7 +1244,7 @@ static netmem_ref io_pp_zc_alloc_netmems(struct page_pool *pp, gfp_t gfp)
 
        allocated = io_zcrx_refill_slow(pp, ifq, netmems, to_alloc);
        if (!allocated) {
-               zcrx_send_notif(ifq, ZCRX_NOTIF_ALLOC_FAIL);
+               zcrx_send_notif(ifq, ZCRX_EVENT_ALLOC_FAIL);
                return 0;
        }
 out_return:
@@ -1398,16 +1398,16 @@ static int zcrx_flush_rq(struct io_ring_ctx *ctx, struct io_zcrx_ifq *zcrx,
 static int zcrx_arm_notif(struct io_ring_ctx *ctx, struct io_zcrx_ifq *zcrx,
                          struct zcrx_ctrl *ctrl)
 {
-       const struct zcrx_ctrl_arm_notif *an = &ctrl->zc_arm_notif;
+       const struct zcrx_ctrl_arm_event *an = &ctrl->zc_arm_event;
        unsigned type_mask;
 
-       if (an->notif_type >= __ZCRX_NOTIF_TYPE_LAST)
+       if (an->event_type >= __ZCRX_EVENT_TYPE_LAST)
                return -EINVAL;
        if (!mem_is_zero(&an->__resv, sizeof(an->__resv)))
                return -EINVAL;
 
        guard(spinlock_bh)(&zcrx->ctx_lock);
-       type_mask = 1U << an->notif_type;
+       type_mask = 1U << an->event_type;
        if (type_mask & ~zcrx->fired_notifs)
                return -EINVAL;
        zcrx->fired_notifs &= ~type_mask;
@@ -1420,7 +1420,7 @@ int io_zcrx_ctrl(struct io_ring_ctx *ctx, void __user *arg, unsigned nr_args)
        struct io_zcrx_ifq *zcrx;
 
        BUILD_BUG_ON(sizeof(ctrl.zc_export) != sizeof(ctrl.zc_flush));
-       BUILD_BUG_ON(sizeof(ctrl.zc_export) != sizeof(ctrl.zc_arm_notif));
+       BUILD_BUG_ON(sizeof(ctrl.zc_export) != sizeof(ctrl.zc_arm_event));
 
        if (nr_args)
                return -EINVAL;
@@ -1438,7 +1438,7 @@ int io_zcrx_ctrl(struct io_ring_ctx *ctx, void __user *arg, unsigned nr_args)
                return zcrx_flush_rq(ctx, zcrx, &ctrl);
        case ZCRX_CTRL_EXPORT:
                return zcrx_export(ctx, zcrx, &ctrl, arg);
-       case ZCRX_CTRL_ARM_NOTIFICATION:
+       case ZCRX_CTRL_ARM_EVENT:
                return zcrx_arm_notif(ctx, zcrx, &ctrl);
        }
 
@@ -1584,7 +1584,7 @@ static int io_zcrx_copy_frag(struct io_kiocb *req, struct io_zcrx_ifq *ifq,
                        zcrx_stat_add(&ifq->notif_stats->copy_count, 1);
                        zcrx_stat_add(&ifq->notif_stats->copy_bytes, ret);
                }
-               zcrx_send_notif(ifq, ZCRX_NOTIF_COPY);
+               zcrx_send_notif(ifq, ZCRX_EVENT_COPY);
        }
 
        return ret;
index d16206eb9e3081492b1fd5ff2148450ac8967578..c1005f23caff673052630c693782ce3edddc1c94 100644 (file)
@@ -10,8 +10,9 @@
 
 #define ZCRX_SUPPORTED_REG_FLAGS       (ZCRX_REG_IMPORT | ZCRX_REG_NODEV)
 #define ZCRX_FEATURES                  (ZCRX_FEATURE_RX_PAGE_SIZE |\
-                                        ZCRX_FEATURE_NOTIFICATION)
-#define ZCRX_NOTIF_TYPE_MASK           ((1U << ZCRX_NOTIF_ALLOC_FAIL) | (1U << ZCRX_NOTIF_COPY))
+                                        ZCRX_FEATURE_EVENT)
+#define ZCRX_EVENT_TYPE_MASK           ((1U << ZCRX_EVENT_ALLOC_FAIL) |\
+                                        (1U << ZCRX_EVENT_COPY))
 
 struct io_zcrx_mem {
        unsigned long                   size;