[PATCH for-next 3/4] io_uring: grow a field in struct io_uring_cmd
Jens Axboe
axboe at kernel.dk
Mon Jul 11 10:19:07 PDT 2022
On 7/11/22 11:00 AM, Sagi Grimberg wrote:
>
>> Use the leftover space to carve 'next' field that enables linking of
>> io_uring_cmd structs. Also introduce a list head and few helpers.
>>
>> This is in preparation to support nvme-mulitpath, allowing multiple
>> uring passthrough commands to be queued.
>>
>> Signed-off-by: Kanchan Joshi <joshi.k at samsung.com>
>> Signed-off-by: Anuj Gupta <anuj20.g at samsung.com>
>> ---
>> include/linux/io_uring.h | 38 ++++++++++++++++++++++++++++++++++++--
>> 1 file changed, 36 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h
>> index 54063d67506b..d734599cbcd7 100644
>> --- a/include/linux/io_uring.h
>> +++ b/include/linux/io_uring.h
>> @@ -22,9 +22,14 @@ struct io_uring_cmd {
>> const void *cmd;
>> /* callback to defer completions to task context */
>> void (*task_work_cb)(struct io_uring_cmd *cmd);
>> + struct io_uring_cmd *next;
>> u32 cmd_op;
>> - u32 pad;
>> - u8 pdu[32]; /* available inline for free use */
>> + u8 pdu[28]; /* available inline for free use */
>> +};
>
> I think io_uring_cmd will at some point become two cachelines and may
> not be worth the effort to limit a pdu to 28 bytes...
--
Jens Axboe
More information about the Linux-nvme
mailing list