Messages in this thread | | | Date | Mon, 23 Sep 2019 10:35:49 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH v2 0/2] Optimise io_uring completion waiting |
| |
* Jens Axboe <axboe@kernel.dk> wrote:
> On 9/22/19 2:08 AM, Pavel Begunkov (Silence) wrote: > > From: Pavel Begunkov <asml.silence@gmail.com> > > > > There could be a lot of overhead within generic wait_event_*() used for > > waiting for large number of completions. The patchset removes much of > > it by using custom wait event (wait_threshold). > > > > Synthetic test showed ~40% performance boost. (see patch 2) > > I'm fine with the io_uring side of things, but to queue this up we > really need Peter or Ingo to sign off on the core wakeup bits... > > Peter?
I'm not sure an extension is needed for such a special interface, why not just put a ->threshold value next to the ctx->wait field and use either the regular wait_event() APIs with the proper condition, or wait_event_cmd() style APIs if you absolutely need something more complex to happen inside?
Should result in a much lower linecount and no scheduler changes. :-)
Thanks,
Ingo
| |