diff options
| author | Pavel Begunkov <asml.silence@gmail.com> | 2021-06-24 15:09:59 +0100 | 
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2021-06-30 14:15:39 -0600 | 
| commit | 9ba6a1c06279ce499fcf755d8134d679a1f3b4ed (patch) | |
| tree | 15a7ae85369dc0ca96a347bf5b63eefccebea00a /include/uapi | |
| parent | 16340eab61a3ed1b5c983c19cfa9f51929b2beeb (diff) | |
| download | linux-9ba6a1c06279ce499fcf755d8134d679a1f3b4ed.tar.bz2 | |
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 { |