* [PATCH io_uring-7.2 0/3] fix up zcrx "notification" uapi naming
@ 2026-07-22 13:42 Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 1/3] io_uring/zcrx: drop "notif" from stats struct names Pavel Begunkov
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Pavel Begunkov @ 2026-07-22 13:42 UTC (permalink / raw)
To: io-uring; +Cc: asml.silence, netdev, Clément Léger
There is a degree of inconsistency, nuisance and ambiguity in the naming
of the zcrx "notification" API. Rename it to "events" and do other small
adjustments while it's not released yet. The patch set only does
renaming, there is no functional or ABI changes.
Pavel Begunkov (3):
io_uring/zcrx: drop "notif" from stats struct names
io_uring/zcrx: rename ZCRX_NOTIF_NO_BUFFERS
io_uring/zcrx: rename notif to event
include/uapi/linux/io_uring/query.h | 14 ++++++------
include/uapi/linux/io_uring/zcrx.h | 32 +++++++++++++--------------
io_uring/query.c | 12 +++++-----
io_uring/zcrx.c | 34 ++++++++++++++---------------
io_uring/zcrx.h | 7 +++---
5 files changed, 50 insertions(+), 49 deletions(-)
--
2.54.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH io_uring-7.2 1/3] io_uring/zcrx: drop "notif" from stats struct names
2026-07-22 13:42 [PATCH io_uring-7.2 0/3] fix up zcrx "notification" uapi naming Pavel Begunkov
@ 2026-07-22 13:42 ` Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 2/3] io_uring/zcrx: rename ZCRX_NOTIF_NO_BUFFERS Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 3/3] io_uring/zcrx: rename notif to event Pavel Begunkov
2 siblings, 0 replies; 4+ messages in thread
From: Pavel Begunkov @ 2026-07-22 13:42 UTC (permalink / raw)
To: io-uring; +Cc: asml.silence, netdev, Clément Léger
Keep zcrx statistics generic and don't stick "notif" to its uapi
definitions. Stats dosn't need to be bound to notification details,
it makes it cleaner and more readable.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
include/uapi/linux/io_uring/query.h | 6 +++---
include/uapi/linux/io_uring/zcrx.h | 4 ++--
io_uring/query.c | 4 ++--
io_uring/zcrx.c | 4 ++--
io_uring/zcrx.h | 2 +-
5 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/include/uapi/linux/io_uring/query.h b/include/uapi/linux/io_uring/query.h
index 1a68eca7c6b4..708bcdd585dd 100644
--- a/include/uapi/linux/io_uring/query.h
+++ b/include/uapi/linux/io_uring/query.h
@@ -66,10 +66,10 @@ struct io_uring_query_zcrx {
struct io_uring_query_zcrx_notif {
/* Bitmask of supported ZCRX_NOTIF_* flags */
__u32 notif_flags;
- /* Size of io_uring_zcrx_notif_stats */
- __u32 notif_stats_size;
+ /* Size of zcrx_stats */
+ __u32 stats_size;
/* Required alignment for the stats struct within the region (ie stats_offset) */
- __u32 notif_stats_off_alignment;
+ __u32 stats_off_alignment;
__u32 __resv1;
__u64 __resv2[4];
};
diff --git a/include/uapi/linux/io_uring/zcrx.h b/include/uapi/linux/io_uring/zcrx.h
index 15c05c45ce36..99e56ec26ead 100644
--- a/include/uapi/linux/io_uring/zcrx.h
+++ b/include/uapi/linux/io_uring/zcrx.h
@@ -76,11 +76,11 @@ enum zcrx_notification_type {
};
enum zcrx_notification_desc_flags {
- /* If set, stats_offset holds a valid offset to a notif_stats struct */
+ /* If set, stats_offset holds a valid offset to a zcrx_stats struct */
ZCRX_NOTIF_DESC_FLAG_STATS = 1 << 0,
};
-struct zcrx_notif_stats {
+struct zcrx_stats {
__u64 copy_count; /* cumulative copy-fallback CQEs */
__u64 copy_bytes; /* cumulative bytes copied */
};
diff --git a/io_uring/query.c b/io_uring/query.c
index d529d94aa8f4..2e48fddd8d3a 100644
--- a/io_uring/query.c
+++ b/io_uring/query.c
@@ -50,8 +50,8 @@ static ssize_t io_query_zcrx_notif(union io_query_data *data)
struct io_uring_query_zcrx_notif *e = &data->zcrx_notif;
e->notif_flags = ZCRX_NOTIF_TYPE_MASK;
- e->notif_stats_size = sizeof(struct zcrx_notif_stats);
- e->notif_stats_off_alignment = __alignof__(struct zcrx_notif_stats);
+ e->stats_size = sizeof(struct zcrx_stats);
+ e->stats_off_alignment = __alignof__(struct zcrx_stats);
e->__resv1 = 0;
memset(&e->__resv2, 0, sizeof(e->__resv2));
return sizeof(*e);
diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
index 49163f9c39df..53dcb5110719 100644
--- a/io_uring/zcrx.c
+++ b/io_uring/zcrx.c
@@ -863,12 +863,12 @@ static int zcrx_validate_notif_stats(struct io_zcrx_ifq *ifq,
used = reg->offsets.rqes +
sizeof(struct io_uring_zcrx_rqe) * reg->rq_entries;
- if (!IS_ALIGNED(stats_off, __alignof__(struct zcrx_notif_stats)))
+ if (!IS_ALIGNED(stats_off, __alignof__(struct zcrx_stats)))
return -EINVAL;
if (stats_off < used)
return -ERANGE;
if (check_add_overflow(stats_off,
- sizeof(struct zcrx_notif_stats),
+ sizeof(struct zcrx_stats),
&end))
return -ERANGE;
if (end > io_region_size(&ifq->rq_region))
diff --git a/io_uring/zcrx.h b/io_uring/zcrx.h
index fa00900e479e..a8d301b6191f 100644
--- a/io_uring/zcrx.h
+++ b/io_uring/zcrx.h
@@ -80,7 +80,7 @@ struct io_zcrx_ifq {
u32 allowed_notif_mask;
u32 fired_notifs;
u64 notif_data;
- struct zcrx_notif_stats *notif_stats;
+ struct zcrx_stats *notif_stats;
};
#if defined(CONFIG_IO_URING_ZCRX)
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH io_uring-7.2 2/3] io_uring/zcrx: rename ZCRX_NOTIF_NO_BUFFERS
2026-07-22 13:42 [PATCH io_uring-7.2 0/3] fix up zcrx "notification" uapi naming Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 1/3] io_uring/zcrx: drop "notif" from stats struct names Pavel Begunkov
@ 2026-07-22 13:42 ` Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 3/3] io_uring/zcrx: rename notif to event Pavel Begunkov
2 siblings, 0 replies; 4+ messages in thread
From: Pavel Begunkov @ 2026-07-22 13:42 UTC (permalink / raw)
To: io-uring; +Cc: asml.silence, netdev, Clément Léger
ZCRX_NOTIF_NO_BUFFERS tells when page pool fails to allocate memory from
zcrx. "No buffers" could be more confusing, rename it to
ZCRX_NOTIF_ALLOC_FAIL.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
include/uapi/linux/io_uring/zcrx.h | 2 +-
io_uring/zcrx.c | 2 +-
io_uring/zcrx.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/uapi/linux/io_uring/zcrx.h b/include/uapi/linux/io_uring/zcrx.h
index 99e56ec26ead..abb898d59a4b 100644
--- a/include/uapi/linux/io_uring/zcrx.h
+++ b/include/uapi/linux/io_uring/zcrx.h
@@ -69,7 +69,7 @@ enum zcrx_features {
};
enum zcrx_notification_type {
- ZCRX_NOTIF_NO_BUFFERS,
+ ZCRX_NOTIF_ALLOC_FAIL,
ZCRX_NOTIF_COPY,
__ZCRX_NOTIF_TYPE_LAST,
diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
index 53dcb5110719..872d5794d3de 100644
--- a/io_uring/zcrx.c
+++ b/io_uring/zcrx.c
@@ -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_NO_BUFFERS);
+ zcrx_send_notif(ifq, ZCRX_NOTIF_ALLOC_FAIL);
return 0;
}
out_return:
diff --git a/io_uring/zcrx.h b/io_uring/zcrx.h
index a8d301b6191f..d16206eb9e30 100644
--- a/io_uring/zcrx.h
+++ b/io_uring/zcrx.h
@@ -11,7 +11,7 @@
#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_NO_BUFFERS) | (1U << ZCRX_NOTIF_COPY))
+#define ZCRX_NOTIF_TYPE_MASK ((1U << ZCRX_NOTIF_ALLOC_FAIL) | (1U << ZCRX_NOTIF_COPY))
struct io_zcrx_mem {
unsigned long size;
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH io_uring-7.2 3/3] io_uring/zcrx: rename notif to event
2026-07-22 13:42 [PATCH io_uring-7.2 0/3] fix up zcrx "notification" uapi naming Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 1/3] io_uring/zcrx: drop "notif" from stats struct names Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 2/3] io_uring/zcrx: rename ZCRX_NOTIF_NO_BUFFERS Pavel Begunkov
@ 2026-07-22 13:42 ` Pavel Begunkov
2 siblings, 0 replies; 4+ messages in thread
From: Pavel Begunkov @ 2026-07-22 13:42 UTC (permalink / raw)
To: io-uring; +Cc: asml.silence, netdev, Clément Léger
"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>
---
include/uapi/linux/io_uring/query.h | 8 ++++----
include/uapi/linux/io_uring/zcrx.h | 28 +++++++++++++--------------
io_uring/query.c | 8 ++++----
io_uring/zcrx.c | 30 ++++++++++++++---------------
io_uring/zcrx.h | 5 +++--
5 files changed, 40 insertions(+), 39 deletions(-)
diff --git a/include/uapi/linux/io_uring/query.h b/include/uapi/linux/io_uring/query.h
index 708bcdd585dd..e6493e4a7a4d 100644
--- a/include/uapi/linux/io_uring/query.h
+++ b/include/uapi/linux/io_uring/query.h
@@ -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) */
diff --git a/include/uapi/linux/io_uring/zcrx.h b/include/uapi/linux/io_uring/zcrx.h
index abb898d59a4b..e01bc0e34b24 100644
--- a/include/uapi/linux/io_uring/zcrx.h
+++ b/include/uapi/linux/io_uring/zcrx.h
@@ -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;
};
};
diff --git a/io_uring/query.c b/io_uring/query.c
index 2e48fddd8d3a..88a325736992 100644
--- a/io_uring/query.c
+++ b/io_uring/query.c
@@ -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:
diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
index 872d5794d3de..7d9fcf34539a 100644
--- a/io_uring/zcrx.c
+++ b/io_uring/zcrx.c
@@ -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 @@ static int zcrx_register_netdev(struct io_zcrx_ifq *ifq,
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(¬if, 0, sizeof(notif));
- if (reg.notif_desc && copy_from_user(¬if, u64_to_user_ptr(reg.notif_desc),
+ if (reg.event_desc && copy_from_user(¬if, 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, ®, ¬if);
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;
diff --git a/io_uring/zcrx.h b/io_uring/zcrx.h
index d16206eb9e30..c1005f23caff 100644
--- a/io_uring/zcrx.h
+++ b/io_uring/zcrx.h
@@ -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;
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-07-22 13:42 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-22 13:42 [PATCH io_uring-7.2 0/3] fix up zcrx "notification" uapi naming Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 1/3] io_uring/zcrx: drop "notif" from stats struct names Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 2/3] io_uring/zcrx: rename ZCRX_NOTIF_NO_BUFFERS Pavel Begunkov
2026-07-22 13:42 ` [PATCH io_uring-7.2 3/3] io_uring/zcrx: rename notif to event Pavel Begunkov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.