From: Hao Xu <firstname.lastname@example.org> To: Pavel Begunkov <email@example.com>, Jens Axboe <firstname.lastname@example.org> Cc: email@example.com, Joseph Qi <firstname.lastname@example.org> Subject: Re: [PATCH 5/5] io_uring: leverage completion cache for poll requests Date: Sun, 19 Sep 2021 23:52:58 +0800 [thread overview] Message-ID: <email@example.com> (raw) In-Reply-To: <firstname.lastname@example.org> 在 2021/9/19 下午8:04, Pavel Begunkov 写道: > On 9/18/21 7:11 AM, Hao Xu wrote: >> 在 2021/9/18 上午4:39, Pavel Begunkov 写道: >>> On 9/17/21 8:38 PM, Hao Xu wrote: >>>> Leverage completion cache to handle completions of poll requests in a >>>> batch. >>>> Good thing is we save compl_nr - 1 completion_lock and >>>> io_cqring_ev_posted. >>>> Bad thing is compl_nr extra ifs in flush_completion. >>> >>> It does something really wrong breaking all abstractions, we can't go >>> with this. Can we have one of those below? >>> - __io_req_complete(issue_flags), forwarding issue_flags from above >>> - or maybe io_req_task_complete(), if we're in tw >> Make sense. we may need to remove io_clean_op logic in > >> io_req_complete_state(), multishot reqs shouldn't do it, and it's ok for >> normal reqs since we do it later in __io_submit_flush_completions-> >> io_req_free_batch->io_dismantle_req->io_clean_op, correct me if I'm >> wrong. > > req->compl.cflags is in the first 64B, i.e. aliased with req->rw and > others. We need to clean everything left in there before using the > space, that's what io_clean_op() there is for True, and that's why we souldn't do it for multishot reqs, since they are not completed yet, and we won't reuse the req resource until its final completion. >
next prev parent reply other threads:[~2021-09-19 15:53 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-17 19:38 [RFC 0/5] " Hao Xu 2021-09-17 19:38 ` [PATCH 1/5] io_uring: return boolean value for io_alloc_async_data Hao Xu 2021-09-17 19:38 ` [PATCH 2/5] io_uring: code clean for io_poll_complete() Hao Xu 2021-09-17 19:38 ` [PATCH 3/5] io_uring: fix race between poll completion and cancel_hash insertion Hao Xu 2021-09-17 19:38 ` [PATCH 4/5] io_uring: fix lacking of EPOLLONESHOT Hao Xu 2021-09-17 19:38 ` [PATCH 5/5] io_uring: leverage completion cache for poll requests Hao Xu 2021-09-17 19:51 ` Hao Xu 2021-09-17 20:39 ` Pavel Begunkov 2021-09-18 6:11 ` Hao Xu 2021-09-19 12:04 ` Pavel Begunkov 2021-09-19 15:52 ` Hao Xu [this message] 2021-09-19 16:10 ` Hao Xu 2021-09-17 20:28 ` [RFC 0/5] " Pavel Begunkov
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 \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [PATCH 5/5] io_uring: leverage completion cache for poll requests' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).