From: Jens Axboe <axboe@kernel.dk>
To: Jackie Liu <liuyun01@kylinos.cn>
Cc: io-uring@vger.kernel.org
Subject: Re: [PATCH] io_uring: fix race with shadow drain deferrals
Date: Wed, 20 Nov 2019 16:03:04 -0700 [thread overview]
Message-ID: <d240a63f-cf5f-10c5-c7ae-e4443ae420ff@kernel.dk> (raw)
In-Reply-To: <57EF3B0C-A6D3-45D5-A689-B8090F750C1E@kylinos.cn>
On 11/20/19 7:07 PM, Jackie Liu wrote:
>
>
>> 2019年11月21日 07:14,Jens Axboe <axboe@kernel.dk> 写道:
>>
>> On 11/20/19 6:57 PM, Jackie Liu wrote:
>>>> @@ -2957,15 +2975,14 @@ static void io_queue_sqe(struct io_kiocb *req)
>>>> int ret;
>>>>
>>>> ret = io_req_defer(req);
>>>> - if (ret) {
>>>> - if (ret != -EIOCBQUEUED) {
>>>> - io_cqring_add_event(req, ret);
>>>> - if (req->flags & REQ_F_LINK)
>>>> - req->flags |= REQ_F_FAIL_LINK;
>>>> - io_double_put_req(req);
>>>> - }
>>>> - } else
>>>> + if (!ret) {
>>>> __io_queue_sqe(req);
>>>> + } else if (ret != -EIOCBQUEUED) {
>>>> + io_cqring_add_event(req, ret);
>>>> + if (req->flags & REQ_F_LINK)
>>>> + req->flags |= REQ_F_FAIL_LINK;
>>>> + io_double_put_req(req);
>>>> + }
>>>> }
>>>
>>> Hmm.. Why we need rewrite there? clear code? Seems to be unrelated to
>>> this issue.
>>
>> We don't need to, and the previous patch touched it, but it's much
>> easier to read after this change. Before it was:
>>
>> if (ret) {
>> if (ret != -EIOCBQUEUED) {
>> ...
>> }
>> } else {
>> ...
>> }
>>
>> which is now just
>>
>> if (!ret) {
>> ...
>> } else if (ret != -EIOCBQUEUED) {
>> ...
>> }
>>
>> not related to the change really, but kind of silly to make a separate
>> patch for imho.
>>
>
> Understand, thanks for explaining and fixing this problem,
> And now, please add:
>
> Reviewed-by: Jackie Liu <liuyun01@kylinos.cn>
Thanks for reviewing it, I've added your reviewed-by.
--
Jens Axboe
next prev parent reply other threads:[~2019-11-21 2:33 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-20 23:07 [PATCH] io_uring: fix race with shadow drain deferrals Jens Axboe
2019-11-20 23:58 ` Jens Axboe
2019-11-21 1:32 ` Jackie Liu
2019-11-21 1:35 ` Jackie Liu
2019-11-21 1:40 ` Jens Axboe
2019-11-21 1:49 ` Jens Axboe
2019-11-21 1:57 ` Jackie Liu
2019-11-20 23:14 ` Jens Axboe
[not found] ` <57EF3B0C-A6D3-45D5-A689-B8090F750C1E@kylinos.cn>
2019-11-20 23:03 ` Jens Axboe [this message]
2019-11-21 8:54 ` [PATCH] io_uring: drain next sqe instead of shadowing Pavel Begunkov
[not found] ` <A12FD0FF-3C4F-46BE-8ABB-AA732002A9CA@kylinos.cn>
2019-11-21 9:43 ` Pavel Begunkov
[not found] ` <5dd68282.1c69fb81.110a.43a7SMTPIN_ADDED_BROKEN@mx.google.com>
2019-11-21 12:40 ` Pavel Begunkov
[not found] ` <5dd68820.1c69fb81.64e0b.4340SMTPIN_ADDED_BROKEN@mx.google.com>
2019-11-21 13:47 ` Jens Axboe
[not found] ` <5dd69c7f.1c69fb81.8868.e3c2SMTPIN_ADDED_BROKEN@mx.google.com>
2019-11-21 13:54 ` Jens Axboe
[not found] ` <5dd69c43.1c69fb81.6589a.b4f1SMTPIN_ADDED_BROKEN@mx.google.com>
2019-11-21 14:28 ` Pavel Begunkov
2019-11-21 13:53 ` Jens Axboe
2019-11-21 15:23 ` Pavel Begunkov
2019-11-21 13:50 ` Jens Axboe
2019-11-21 1:39 ` [PATCH] io_uring: fix race with shadow drain deferrals Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d240a63f-cf5f-10c5-c7ae-e4443ae420ff@kernel.dk \
--to=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=liuyun01@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.