Commit 9ba6a1c0 authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe

io_uring: simplify struct io_uring_sqe layout

Flatten struct io_uring_sqe, the last union is exactly 64B, so move them
out of union { struct { ... }}, and decrease __pad2 size.
Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/2e21ef7aed136293d654450bc3088973a8adc730.1624543113.git.asml.silence@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 16340eab
...@@ -46,21 +46,17 @@ struct io_uring_sqe { ...@@ -46,21 +46,17 @@ struct io_uring_sqe {
__u32 unlink_flags; __u32 unlink_flags;
}; };
__u64 user_data; /* data to be passed back at completion time */ __u64 user_data; /* data to be passed back at completion time */
/* pack this to avoid bogus arm OABI complaints */
union { union {
struct { /* index into fixed buffers, if used */
/* pack this to avoid bogus arm OABI complaints */ __u16 buf_index;
union { /* for grouped buffer selection */
/* index into fixed buffers, if used */ __u16 buf_group;
__u16 buf_index; } __attribute__((packed));
/* for grouped buffer selection */ /* personality to use, if used */
__u16 buf_group; __u16 personality;
} __attribute__((packed)); __s32 splice_fd_in;
/* personality to use, if used */ __u64 __pad2[2];
__u16 personality;
__s32 splice_fd_in;
};
__u64 __pad2[3];
};
}; };
enum { enum {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment