rust: time: add msecs to jiffies conversion
authorAlice Ryhl <aliceryhl@google.com>
Mon, 8 Jan 2024 14:49:58 +0000 (14:49 +0000)
committerMiguel Ojeda <ojeda@kernel.org>
Sun, 28 Jan 2024 18:50:48 +0000 (19:50 +0100)
commit82e170874849c4c57dba6b4ee1a08fae1c0a5f02
tree6bd780287f09cf3f344192f55d6b43d2653e39e4
parent3e6454177f3a76265cba4901d5caa4eb0c7b6447
rust: time: add msecs to jiffies conversion

Defines type aliases and conversions for msecs and jiffies.

This is used by Rust Binder for process freezing. There, we want to
sleep until the freeze operation completes, but we want to be able to
abort the process freezing if it doesn't complete within some timeout.
The freeze timeout is supplied in msecs.

Note that we need to convert to jiffies in Binder. It is not enough to
introduce a variant of `CondVar::wait_timeout` that takes the timeout in
msecs because we need to be able to restart the sleep with the remaining
sleep duration if it is interrupted, and if the API takes msecs rather
than jiffies, then that would require a conversion roundtrip jiffies->
msecs->jiffies that is best avoided.

Suggested-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by: Tiago Lam <tiagolam@gmail.com>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240108-rb-new-condvar-methods-v4-2-88e0c871cc05@google.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/bindings/bindings_helper.h
rust/kernel/lib.rs
rust/kernel/time.rs [new file with mode: 0644]