[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190923083549.GA42487@gmail.com>
Date: Mon, 23 Sep 2019 10:35:49 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Jens Axboe <axboe@...nel.dk>
Cc: "Pavel Begunkov (Silence)" <asml.silence@...il.com>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/2] Optimise io_uring completion waiting
* Jens Axboe <axboe@...nel.dk> wrote:
> On 9/22/19 2:08 AM, Pavel Begunkov (Silence) wrote:
> > From: Pavel Begunkov <asml.silence@...il.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
Powered by blists - more mailing lists