* Jens Axboe:
> +#define IORING_MAX_ENTRIES 4096
Where does this constant come from? Should it really be exposed to
userspace?
> +struct io_uring_params {
> + __u32 sq_entries;
> + __u32 cq_entries;
> + __u32 flags;
> + __u16 resv[10];
> + struct io_sqring_offsets sq_off;
> + struct io_cqring_offsets cq_off;
> +};
> +struct io_sqring_offsets {
> + __u32 head;
> + __u32 tail;
> + __u32 ring_mask;
> + __u32 ring_entries;
> + __u32 flags;
> + __u32 dropped;
> + __u32 array;
> + __u32 resv[3];
> +};
> +
> +struct io_cqring_offsets {
> + __u32 head;
> + __u32 tail;
> + __u32 ring_mask;
> + __u32 ring_entries;
> + __u32 overflow;
> + __u32 cqes;
> + __u32 resv[4];
> +};
Should the reserved fields include a __u64 member, to increase struct
alignment on architectures that might need it in the future?
> +#define IORING_ENTER_GETEVENTS (1 << 0)
Should this be unsigned, to match the u32 flags argument? (Otherwise
using 32 flags can be difficult).
Thanks,
Florian