Rust for Linux List
 help / color / mirror / Atom feed
* [PATCH v4 0/7] rust: use Delta instead of raw jiffies for timeouts and delays
@ 2026-07-22 21:49 FUJITA Tomonori
  2026-07-22 21:49 ` [PATCH v4 1/7] rust: time: make Delta generic over its time unit FUJITA Tomonori
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: FUJITA Tomonori @ 2026-07-22 21:49 UTC (permalink / raw)
  To: a.hindborg, aliceryhl, arve, boqun, brauner, cmllamas, gary,
	gregkh, ojeda, tkjos
  Cc: acourbot, anna-maria, bjorn3_gh, dakr, daniel.almeida, frederic,
	jstultz, lossin, lyude, sboyd, tamird, tglx, tmgross, work,
	rust-for-linux, FUJITA Tomonori

From: FUJITA Tomonori <fujita.tomonori@gmail.com>

CondVar::wait_interruptible_timeout() and Queue::enqueue_delayed() use
a raw jiffies count (a plain c_ulong alias with no type
safety). Callers have to know on their own that the value meant
jiffies and convert to/from it themselves, which is easy to get wrong
(e.g. passing a millisecond value where a jiffies value is expected).

Both APIs just take a span of time so, they can use the Delta type
instead.

This series makes Delta generic over its time unit with Nsec and Jiffy
types, switches CondVar and Queue to use Delta instead of raw jiffies
(updating binder's ioctl_freeze(), the only caller of
wait_interruptible_timeout()), and then removes the now-unused Jiffies
and Msecs type aliases.

---
v4:
- Make Delta generic over its time unit with Nsec and Jiffy types
v3: https://lore.kernel.org/rust-for-linux/20260717042247.3634961-1-tomo@flapping.org/
- Add new Jiffies type and convert the APIs to take impl Into<Jiffies>
v2: https://lore.kernel.org/rust-for-linux/20260712235246.3069713-1-tomo@flapping.org/
- Fix potential overflow in from_jiffies()
- Fix inflating bug in as_jiffies_ceil()
- Add a patch to convert enqueue_delayed()
- Add a patch to remove Jiffies/Msecs aliases
v1: https://lore.kernel.org/rust-for-linux/20260704132558.2253275-1-tomo@aliasing.net/

---
FUJITA Tomonori (7):
  rust: time: make Delta generic over its time unit
  rust: time: add jiffies time unit for Delta
  rust: time: add Delta::as_millis_ceil()
  rust: time: add Delta::to_jiffies() for timeout conversion
  rust: workqueue: take a Delta<Jiffy> for the enqueue delay
  rust: sync: condvar: use Delta<Jiffy> for timeout and result
  rust: time: remove unused Jiffies/Msecs helpers

 drivers/android/binder/process.rs |   6 +-
 rust/kernel/sync/condvar.rs       |  29 ++++--
 rust/kernel/time.rs               | 156 ++++++++++++++++++++++--------
 rust/kernel/workqueue.rs          |  12 ++-
 4 files changed, 150 insertions(+), 53 deletions(-)


base-commit: 7059bdf4f04a3e14f4fafb3ac35fdca913e3e21a
-- 
2.43.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-07-23 13:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-22 21:49 [PATCH v4 0/7] rust: use Delta instead of raw jiffies for timeouts and delays FUJITA Tomonori
2026-07-22 21:49 ` [PATCH v4 1/7] rust: time: make Delta generic over its time unit FUJITA Tomonori
2026-07-22 21:49 ` [PATCH v4 2/7] rust: time: add jiffies time unit for Delta FUJITA Tomonori
2026-07-22 21:49 ` [PATCH v4 3/7] rust: time: add Delta::as_millis_ceil() FUJITA Tomonori
2026-07-22 21:49 ` [PATCH v4 4/7] rust: time: add Delta::to_jiffies() for timeout conversion FUJITA Tomonori
2026-07-22 21:49 ` [PATCH v4 5/7] rust: workqueue: take a Delta<Jiffy> for the enqueue delay FUJITA Tomonori
2026-07-22 21:49 ` [PATCH v4 6/7] rust: sync: condvar: use Delta<Jiffy> for timeout and result FUJITA Tomonori
2026-07-23 13:42   ` Gary Guo
2026-07-22 21:49 ` [PATCH v4 7/7] rust: time: remove unused Jiffies/Msecs helpers FUJITA Tomonori
2026-07-23 13:43 ` [PATCH v4 0/7] rust: use Delta instead of raw jiffies for timeouts and delays Gary Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox