[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e003861d-f702-24e5-5292-b18d207481d7@gmail.com>
Date: Sun, 20 Jun 2021 22:11:34 +0100
From: Pavel Begunkov <asml.silence@...il.com>
To: Olivier Langlois <olivier@...llion01.com>,
Jens Axboe <axboe@...nel.dk>, io-uring@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] io_uring: reduce latency by reissueing the operation
On 6/20/21 10:05 PM, Olivier Langlois wrote:
> On Sun, 2021-06-20 at 20:56 +0100, Pavel Begunkov wrote:
>> On 6/20/21 8:05 PM, Olivier Langlois wrote:
>>>
>>>
>>> -static bool io_arm_poll_handler(struct io_kiocb *req)
>>> +#define IO_ARM_POLL_OK 0
>>> +#define IO_ARM_POLL_ERR 1
>>> +#define IO_ARM_POLL_READY 2
>>
>> Please add a new line here. Can even be moved somewhere
>> to the top, but it's a matter of taste.
>
> If you let me decide, I prefer to let them close to where they are
> used. There is so much data definitions in the heading section that I
> feel like putting very minor implementation details to it might
> overwhelm newcomers instead of helping them to grasp the big picture.
>
> but I will add an extra space as you request
btw, it doesn't apply cleanly for me, conflicts
with your trace changes. Can you check that you're
on an up-to-date revision? I.e.
https://git.kernel.dk/cgit/linux-block/log/?h=for-5.14/io_uring
>>
>> Also, how about to rename it to apoll? io_uring internal
>> rw/send/recv polling is often abbreviated as such around
>> io_uring.c
>> IO_APOLL_OK and so on.
>
> no problem. I will.
>>
>>> +static int io_arm_poll_handler(struct io_kiocb *req)
>>> {
>>> const struct io_op_def *def = &io_op_defs[req->opcode];
>>> struct io_ring_ctx *ctx = req->ctx;
>>> @@ -5153,22 +5156,22 @@ static bool io_arm_poll_handler(struct
>>> io_kiocb *req)
>>> int rw;
>>>
>>> if (!req->file || !file_can_poll(req->file))
>>> - return false;
>>> + return IO_ARM_POLL_ERR;
>>
>> It's not really an error. Maybe IO_APOLL_ABORTED or so?
>
> Ok.
>
>
--
Pavel Begunkov
Powered by blists - more mailing lists