2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/rust/kernel
Alice Ryhl 48b7f4d29a rust: time: Add Ktime
Introduce a wrapper around `ktime_t` with a few different useful methods.

Rust Binder will use these bindings to compute how many milliseconds a
transaction has been active for when dumping the current state of the
Binder driver. This replicates the logic in C Binder [1].

For a usage example in Rust Binder, see [2].

ktime_get() cannot be safely called in NMI context. This requirement is not
checked by these abstractions, but it is intended that klint [3] or a
similar tool will be used to check it in the future.

Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Link: https://lore.kernel.org/r/20240322-rust-ktime_ms_delta-v2-1-d98de1f7c282@google.com
Link: https://lore.kernel.org/lkml/5ac8c0d09392290be789423f0dd78a520b830fab.1682333709.git.zhangchuang3@xiaomi.com/ [1]
Link: https://r.android.com/3004103 [2]
Link: https://rust-for-linux.com/klint [3]
2024-04-11 23:20:43 +02:00
..
init rust: init: update expanded macro explanation 2023-08-21 14:31:49 +02:00
net rust: phy: use VTABLE_DEFAULT_ERROR 2024-01-27 14:28:00 +00:00
sync rust: kernel: stop using ptr_metadata feature 2024-02-18 21:22:27 +01:00
allocator.rs rust: kernel: fix multiple typos in documentation 2024-02-18 21:22:27 +01:00
build_assert.rs rust: upgrade to Rust 1.68.2 2023-05-31 17:35:03 +02:00
error.rs rust: error: improve unsafe code in example 2024-02-18 21:22:27 +01:00
init.rs rust: kernel: add reexports for macros 2024-02-18 21:22:27 +01:00
ioctl.rs rust: kernel: mark code fragments in docs with backticks 2024-02-18 21:22:27 +01:00
kunit.rs rust: support srctree-relative links 2023-12-21 20:54:17 +01:00
lib.rs rust: add container_of! macro 2024-02-25 19:17:31 +01:00
net.rs rust: core abstractions for network PHY drivers 2023-12-15 09:35:50 +00:00
prelude.rs rust: add derive macro for Zeroable 2023-08-21 14:31:48 +02:00
print.rs rust: support srctree-relative links 2023-12-21 20:54:17 +01:00
static_assert.rs rust: static_assert: add static_assert! macro 2022-12-04 01:59:16 +01:00
std_vendor.rs rust: upgrade to Rust 1.68.2 2023-05-31 17:35:03 +02:00
str.rs rust: str: implement Display and Debug for BStr 2024-02-25 19:17:31 +01:00
sync.rs rust: kernel: add reexports for macros 2024-02-18 21:22:27 +01:00
task.rs rust: kernel: mark code fragments in docs with backticks 2024-02-18 21:22:27 +01:00
time.rs rust: time: Add Ktime 2024-04-11 23:20:43 +02:00
types.rs rust: types: add try_from_foreign() method 2024-02-25 19:17:31 +01:00
workqueue.rs workqueue: Changes for v6.9 2024-03-11 12:50:42 -07:00