diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2021-06-24 17:09:59 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-06-30 23:15:39 +0300 |
commit | 9ba6a1c06279ce499fcf755d8134d679a1f3b4ed (patch) | |
tree | 15a7ae85369dc0ca96a347bf5b63eefccebea00a /include/uapi | |
parent | 16340eab61a3ed1b5c983c19cfa9f51929b2beeb (diff) | |
download | linux-9ba6a1c06279ce499fcf755d8134d679a1f3b4ed.tar.xz |
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: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/2e21ef7aed136293d654450bc3088973a8adc730.1624543113.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/io_uring.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index f1f9ac114b51..79126d5cd289 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -46,21 +46,17 @@ struct io_uring_sqe { __u32 unlink_flags; }; __u64 user_data; /* data to be passed back at completion time */ + /* pack this to avoid bogus arm OABI complaints */ union { - struct { - /* pack this to avoid bogus arm OABI complaints */ - union { - /* index into fixed buffers, if used */ - __u16 buf_index; - /* for grouped buffer selection */ - __u16 buf_group; - } __attribute__((packed)); - /* personality to use, if used */ - __u16 personality; - __s32 splice_fd_in; - }; - __u64 __pad2[3]; - }; + /* index into fixed buffers, if used */ + __u16 buf_index; + /* for grouped buffer selection */ + __u16 buf_group; + } __attribute__((packed)); + /* personality to use, if used */ + __u16 personality; + __s32 splice_fd_in; + __u64 __pad2[2]; }; enum { |