Re: [PATCH v3 4/4] io_uring: add support for zone-append

Kanchan Joshi
2020-07-06T14:01:45Z

[-- Attachment #1: Type: text/plain, Size: 1385 bytes --]

On Sun, Jul 05, 2020 at 03:00:47PM -0600, Jens Axboe wrote:
>On 7/5/20 12:47 PM, Kanchan Joshi wrote:
>> From: Selvakumar S <selvakuma.s1@samsung.com>
>>
>> For zone-append, block-layer will return zone-relative offset via ret2
>> of ki_complete interface. Make changes to collect it, and send to
>> user-space using cqe->flags.
>>
>> Signed-off-by: Selvakumar S <selvakuma.s1@samsung.com>
>> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
>> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
>> Signed-off-by: Javier Gonzalez <javier.gonz@samsung.com>
>> ---
>> fs/io_uring.c | 21 +++++++++++++++++++--
>> 1 file changed, 19 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/io_uring.c b/fs/io_uring.c
>> index 155f3d8..cbde4df 100644
>> --- a/fs/io_uring.c
>> +++ b/fs/io_uring.c
>> @@ -402,6 +402,8 @@ struct io_rw {
>> struct kiocb kiocb;
>> u64 addr;
>> u64 len;
>> + /* zone-relative offset for append, in sectors */
>> + u32 append_offset;
>> };
>
>I don't like this very much at all. As it stands, the first cacheline
>of io_kiocb is set aside for request-private data. io_rw is already
>exactly 64 bytes, which means that you're now growing io_rw beyond
>a cacheline and increasing the size of io_kiocb as a whole.
>
>Maybe you can reuse io_rw->len for this, as that is only used on the
>submission side of things.

Yes, this will be good. Thanks.

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]