Linux block layer
 help / color / mirror / Atom feed
From: Andres Freund <andres@anarazel.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [PATCH] io_uring: IORING_OP_TIMEOUT support
Date: Fri, 20 Sep 2019 09:53:48 -0700	[thread overview]
Message-ID: <20190920165348.pjmdnm3mozna3ous@alap3.anarazel.de> (raw)
In-Reply-To: <f0488dd6-c32b-be96-9bdc-67099f1f56f8@kernel.dk>

Hi,

On 2019-09-17 10:03:58 -0600, Jens Axboe wrote:
> There's been a few requests for functionality similar to io_getevents()
> and epoll_wait(), where the user can specify a timeout for waiting on
> events. I deliberately did not add support for this through the system
> call initially to avoid overloading the args, but I can see that the use
> cases for this are valid.

> This adds support for IORING_OP_TIMEOUT. If a user wants to get woken
> when waiting for events, simply submit one of these timeout commands
> with your wait call. This ensures that the application sleeping on the
> CQ ring waiting for events will get woken. The timeout command is passed
> in a pointer to a struct timespec. Timeouts are relative.

Hm. This interface wouldn't allow to to reliably use a timeout waiting for
io_uring_enter(..., min_complete > 1, ING_ENTER_GETEVENTS, ...)
right?

I can easily imagine usecases where I'd want to submit a bunch of ios
and wait for all of their completion to minimize unnecessary context
switches, as all IOs are required to continue. But with a relatively
small timeout, to allow switching to do other work etc.

- Andres

  reply	other threads:[~2019-09-20 16:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-17 16:03 [PATCH] io_uring: IORING_OP_TIMEOUT support Jens Axboe
2019-09-20 16:53 ` Andres Freund [this message]
2019-09-20 20:18   ` Jens Axboe
2019-09-20 20:56     ` Andres Freund
2019-09-20 21:26       ` Jens Axboe
2019-09-20 23:10         ` Jens Axboe
2019-09-20 23:52           ` 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=20190920165348.pjmdnm3mozna3ous@alap3.anarazel.de \
    --to=andres@anarazel.de \
    --cc=axboe@kernel.dk \
    --cc=linux-block@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox