From: Alice Ryhl <aliceryhl@google.com>
To: FUJITA Tomonori <fujita.tomonori@gmail.com>
Cc: a.hindborg@kernel.org, alex.gaynor@gmail.com, ojeda@kernel.org,
anna-maria@linutronix.de, bjorn3_gh@protonmail.com,
boqun.feng@gmail.com, dakr@kernel.org, frederic@kernel.org,
gary@garyguo.net, jstultz@google.com,
linux-kernel@vger.kernel.org, lossin@kernel.org,
lyude@redhat.com, rust-for-linux@vger.kernel.org,
sboyd@kernel.org, tglx@linutronix.de, tmgross@umich.edu,
acourbot@nvidia.com, daniel.almeida@collabora.com,
me@kloenk.dev
Subject: Re: [PATCH v1 2/2] rust: Add read_poll_timeout functions
Date: Thu, 14 Aug 2025 08:26:42 +0000 [thread overview]
Message-ID: <aJ2dwkHX0i7bFobg@google.com> (raw)
In-Reply-To: <20250814.151147.29094382820492173.fujita.tomonori@gmail.com>
On Thu, Aug 14, 2025 at 03:11:47PM +0900, FUJITA Tomonori wrote:
> On Mon, 11 Aug 2025 09:50:59 +0000
> Alice Ryhl <aliceryhl@google.com> wrote:
>
> > On Mon, Aug 11, 2025 at 01:10:38PM +0900, FUJITA Tomonori wrote:
> >> Add read_poll_timeout functions which poll periodically until a
> >> condition is met or a timeout is reached.
> >>
> >> The C's read_poll_timeout (include/linux/iopoll.h) is a complicated
> >> macro and a simple wrapper for Rust doesn't work. So this implements
> >> the same functionality in Rust.
> >>
> >> The C version uses usleep_range() while the Rust version uses
> >> fsleep(), which uses the best sleep method so it works with spans that
> >> usleep_range() doesn't work nicely with.
> >>
> >> The sleep_before_read argument isn't supported since there is no user
> >> for now. It's rarely used in the C version.
> >>
> >> read_poll_timeout() can only be used in a nonatomic context. This
> >> requirement is not checked by these abstractions, but it is intended
> >> that klint [1] or a similar tool will be used to check it in the
> >> future.
> >
> > I would drop this paragraph. You have a call to might_sleep() now.
>
> Do you mean that, since it’s obvious might_sleep() can only be used in
> a non-atomic context, the above statement is redundant and can be
> dropped?
I mean, klint is nice as it's a compile-time check rather than a
runtime check. But might_sleep() still counts as having the
abstractions check it in my book. So you shouldn't say that you are not
checking it, when you are checking it.
Alice
next prev parent reply other threads:[~2025-08-14 8:26 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-11 4:10 [PATCH v1 0/2] rust: Add read_poll_timeout FUJITA Tomonori
2025-08-11 4:10 ` [PATCH v1 1/2] rust: Add cpu_relax() helper FUJITA Tomonori
2025-08-11 9:39 ` Alice Ryhl
2025-08-14 6:12 ` FUJITA Tomonori
2025-08-11 10:45 ` Andreas Hindborg
2025-08-11 4:10 ` [PATCH v1 2/2] rust: Add read_poll_timeout functions FUJITA Tomonori
2025-08-11 9:50 ` Alice Ryhl
2025-08-14 6:11 ` FUJITA Tomonori
2025-08-14 8:26 ` Alice Ryhl [this message]
2025-08-17 4:21 ` FUJITA Tomonori
2025-08-11 9:55 ` Danilo Krummrich
2025-08-11 10:32 ` Andreas Hindborg
2025-08-14 6:29 ` FUJITA Tomonori
2025-08-11 10:47 ` Andreas Hindborg
2025-08-13 2:56 ` Alexandre Courbot
2025-08-14 6:39 ` FUJITA Tomonori
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=aJ2dwkHX0i7bFobg@google.com \
--to=aliceryhl@google.com \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=alex.gaynor@gmail.com \
--cc=anna-maria@linutronix.de \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=frederic@kernel.org \
--cc=fujita.tomonori@gmail.com \
--cc=gary@garyguo.net \
--cc=jstultz@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=lyude@redhat.com \
--cc=me@kloenk.dev \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=tmgross@umich.edu \
/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.